1
votes

Calculer le décalage horaire pour la variable date / heure

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 !


0 commentaires

3 Réponses :


4
votes

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


1 commentaires

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!



2
votes

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 


0 commentaires

1
votes

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:

checkin_to_triage

120


0 commentaires