"Arithmetischer überlauffehler beim konvertieren des Ausdrucks in den Datentyp nvarchar", wenn Sie versuchen zu bekommen datediff

Level1  Level2      createdate        CCcreatedate      datedifference

23    |   3   |  10/24/2014 17:07   | 10/24/2014 17:07  
24    |   3   |  10/24/2014 23:48   | 10/25/2014 17:07  
25    |   3   |  10/25/2014 9:57    | 10/26/2014 17:07  
26    |   1   |  10/26/2014 17:49   | 10/27/2014 17:07  
27    |   1   |  10/16/2014 12:53   | 10/28/2014 17:07  
28    |   1   |  10/16/2014 12:32   | 10/29/2014 17:07  
29    |   2   |  10/16/2014 13:58   | 10/30/2014 17:07  
30    |   2   |  10/16/2014 16:40   | 10/31/2014 17:07  
31    |   2   |  10/16/2014 20:28   | 11/1/2014 17:07   
32    |   2   |  10/15/2014 17:09   | 11/2/2014 17:07   

Ich habe eine Tabelle mit 5 Spalten, davon sind 2 Termine. Man erklärt nvarchar(createdate) und der andere als datetime (CCcreatedate)
Ich werde versuchen, die Differenz zwischen 2 Datumsangaben zu zeigen, bis auf eine 3. Spalte ( datedifference ), die auch nvarchar. Erhalte eine Fehlermeldung, die besagt

Arithmetischer überlauffehler beim konvertieren des Ausdrucks in den Datentyp nvarchar.

wenn ich die Abfrage unten.

update table
set datedifference = 
datediff(minute,CONVERT(nvarchar,CAST([createdate] as datetime)),CONVERT(nvarchar,CAST([CE_activity_create_Date]as datetime)))

Ich versuche finden Sie den Unterschied zwischen den 2 Terminen, so kann ich später die verschiedenen (Stufe 2) mit mindestens datedifference

Wie groß ist die varchar Spalte? Und warum sind Sie mit einem varchar Spalte zu speichern, die einen numerischen Wert?
Schlechte Gewohnheiten zu treten : VARCHAR zu deklarieren, ohne (Länge) Sie sollten immer geben Sie eine Länge für jede varchar Variablen und Parameter, die Sie verwenden
Danke Jungs. Es war ein Problem mit dem Datentyp.

InformationsquelleAutor HarryS | 2014-11-05

Schreibe einen Kommentar