Vairāk
Sql vaicājums, lai SQL Serverī ievietotu datuma laiku
Es gribu ievietot datumpunkta
vērtību tabulā (SQL Server), izmantojot zemāk minēto sql vaicājumu
insert into table1(approvaldate)values(18-06-12 10:34:09 AM);
Bet es saņemu šādu kļūdas ziņojumu. Nepareiza sintakse pie '10'.
Es mēģināju ar pēdiņām
insert into table1(approvaldate)values('18-06-12 10:34:09 AM');
Es saņemu šo kļūdas ziņojumu Cannot convert varchar to datetime
.
Laipni lūdzam palīdzēt! Paldies.
123
3
Lai SQL Serverī varētu viennozīmīgi noteikt datumu, ir jāizmanto YYYYYMMDD.
Ja esat ieviesis
dd-mm-yy hh:mm:ss xm
formātu, jums būs jāizmanto CONVERT ar īpašu stilu.`
5
šeit ir stils itāļu datumiem. Nu, ne tikai itāļi, bet tieši šai kultūrai tas tiek piedēvēts Books Online.No valodas neatkarīgāka izvēle virknes literāliem ir starptautiskā standarta ISO 8601 formāts "YYYYY-MM-DDThh:mm:ss". Lai pārbaudītu šo formātu, es izmantoju zemāk redzamo SQL vaicājumu, un tas patiešām darbojas visās SQL valodās, kas atrodas sys.syslanguages:
Saskaņā ar Microsoft TechNet sadaļu Virknes burtiskie datuma un laika formāti, ANSI standarta SQL datuma formāts "YYYYY-MM-DD hh:mm:ss" ir paredzēts kā "daudzvalodu". Tomēr, izmantojot vienu un to pašu vaicājumu, ANSI formāts nedarbojas visās SQL valodās.
Piemēram, dāņu valodā būs daudz šādu kļūdu:
Ja vēlaties izveidot vaicājumu C# valodā, lai to palaistu SQL Server, un jums ir jāievada datums ISO 8601 formātā, izmantojiet Sortable "s" formāta specifikatoru:
Ja vērtības tiek saglabātas, izmantojot jebkuru programmēšanas valodu.
Šeit ir piemērs C# valodā
Lai saglabātu datumu, vispirms tas ir jākonvertē un pēc tam jāglabā.
FooDate ir datetime mainīgais, kas satur datumu jūsu formātā.