"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
Schlechte Gewohnheiten zu treten : VARCHAR zu deklarieren, ohne (Länge) Sie sollten immer geben Sie eine Länge für jede
Danke Jungs. Es war ein Problem mit dem Datentyp.
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 verwendenDanke Jungs. Es war ein Problem mit dem Datentyp.
InformationsquelleAutor HarryS | 2014-11-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie wahrscheinlich, um Ihren datedifference Spalte größer. Ich habe gerade den gleichen Fehler, den Sie haben, wenn ich lief den folgenden code:
Den Unterschied in Minuten ist 25,918. Wenn Ihr nvarchar-Spalte ist zu klein, erhalten Sie die Fehlermeldung. Ich möchte Sie ermutigen, ändern Sie den Datentyp Ihrer datedifference Spalte int statt vom Typ nvarchar.
Können Sie diesen code verwenden, um zu sehen, wie groß (oder klein) oder Spalte ist:
InformationsquelleAutor G Mastros
Ich denke, die update-Abfrage sollte:
Sich bewusst sein, dass Daten mehr als über zehn Wochen auseinander erfordern würde, 6 Ziffern speichern nur der integer-Teil. Es wäre viel besser, speichern das Ergebnis als eine numerische Spalte, wenn möglich.
InformationsquelleAutor D Stanley