Question

Comment utiliser DATEDIFF? Comment puis-je faire cela fonctionne? ou devrais-je utiliser DATEDIFF différemment completly?

SELECT DATEDIFF('Started ','will_end') AS 'Duration' FROM my_table WHERE id = '110';

J'essaie d'obtenir réponse, combien de jours sont à l'intérieur de deux dates.

Je voudrais avoir une aswer comme:
Durée = 7 jours;

J'ai ce genre de base de données:

Démarrage | will_end
2009-12-17 | 2009-12-24
2009-12-12 | 2009-12-26

Était-ce utile?

La solution

Mettre will_end d'abord, started seconde:

SELECT  DATEDIFF('2009-12-24', '2009-12-17') 

---
  7

En outre, supprimez les guillemets simples de vos noms de champs:

SELECT  DATEDIFF(will_end, started) AS Duration
FROM    my_table
WHERE   id = 110

, ou les remplacer par contre-apostrophes:

SELECT  DATEDIFF(`will_end`, `started`) AS `Duration`
FROM    `my_table`
WHERE   `id` = 110

Autres conseils

Vous obtenez un résultat NULL? Vous avez les noms de colonnes dans des guillemets simples dans votre requête, qui signifie que vous passez les chaînes 'Started ' et 'will_end' à DATEDIFF plutôt que les valeurs de la colonne. Essayez de supprimer les guillemets simples, et vous commencerez à voir des résultats:

SELECT DATEDIFF(Started, will_end) AS Duration FROM my_table WHERE id = '110';

Notez que cela vous donnera un résultat négatif. Pour obtenir un résultat positif, inverser l'ordre des colonnes:

SELECT DATEDIFF(will_end, Started) AS Duration FROM my_table WHERE id = '110';

remplacer l'ordre

DATEDIFF ( 'will_end', 'commencer')

Je pense qu'il ya trois paramètres passés dans DATEDIFF (datepart, startdate, enddate)

votre code serait DATEDIFF (dd, 'route', 'will_end')

http://msdn.microsoft.com/en-us/library /ms189794.aspx

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top