J'ai deux variables 'triage_date_time' et 'checkin_date_time'. Les deux sont au format, par exemple, 2018-12-31 14:13:00. Affichage de l'année-mois-jour et de l'heure-minute-seconde dans une cellule.
Je voulais créer une variable qui calcule le temps nécessaire entre l'enregistrement et le triage.
J'ai essayé d'utiliser le code suivant:
SELECT DISTINCT datediff(minute, 'triage_date_time', 'checkin_date_time') as checkin_to_triage
Cependant, lors de l'exécution de ce code, j'obtiens l'erreur suivante ... "La conversion a échoué lors de la conversion de la date et / ou l'heure à partir de la chaîne de caractères ".
Toute suggestion sur la façon dont je peux écrire un code qui calculerait la différence infime de ces deux variables.
Merci !
3 Réponses :
Un problème est évidemment les guillemets simples. En supposant que vous utilisez SQL Server, les variables commencent par @ . Donc:
select datediff(minute, triage_date_time, checkin_date_time) as checkin_to_triage from t;
Si vous êtes confus et que vous voulez vraiment dire des colonnes dans un tableau, alors:
select datediff(minute, @triage_date_time, @checkin_date_time) as checkin_to_triage
désolé pour la confusion, il n'y a pas de guillemets simples dans le nom de la variable, je les citais juste pour discerner leur nom complet, merci!
est-ce que votre champ est un type de données CHARACTER? transtyper votre caractère en datetime
SELECT DISTINCT datediff(minute, CAST(triage_date_time AS datetime), CAST(checkin_date_time AS datetime)) as checkin_to_triage
Essayez avec cette requête
DECLARE @triage_date_time DATETIME = '20181231 14:13:00' DECLARE @checkin_date_time DATETIME = '20181231 16:13:00' SELECT DATEDIFF (MINUTE, @triage_date_time, @checkin_date_time) AS 'checkin_to_triage'
Résultat:
120