IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Conversion failed when converting date and/or time from character string

V předchozím kvízu, Online test znalostí SQL a databází, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Michal Pflegshörl:4.7.2017 12:44

Ahoj, potřebuju radu
Mám v MS SQL Databázi sloupec datnar typu datetime2(7).
Pokud spustím dotaz
UPDATE Tabulka SET datnar=CONVER­T(DATE,'2001/01/­31')
Provede se.
Pokud ale spustím
INSERT INTO Tabulka(datnar) VALUES (CONVERT(DATE,'2001/01/­31'))
Vrátí se ki chyba: Conversion failed when converting date and/or time from character string.

Kde by mohl být problém? Proč UPDATE funguje ale INSERT nikoli?
V jiné tabulce ve stejné databázi funguje UPDATE i INSERT

 
Odpovědět
4.7.2017 12:44
Avatar
Odpovídá na Michal Pflegshörl
Michal Štěpánek:4.7.2017 21:36

Nemáš třeba v té tabulce ještě jiný sloupec, který nesmí být null a přitom v tom insertu není uveden?

Nahoru Odpovědět
4.7.2017 21:36
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Michal Pflegshörl:5.7.2017 15:10

Tak u jsem na to přišel. V jednom sloupci typu DateTime2, který jsem v INSERTu neměl byla nastavena defaultní hodnota (N'NULL'). Po odstranění této hodnoty už insert funguje.
Díky za tip, který mě přivedl na správnou cestu.

Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět
5.7.2017 15:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.