sql >> Databáze >  >> RDS >> Sqlserver

Převeďte varchar na datetime v SQL Server

OP chce mmddyy a obyčejný převod na to nebude fungovat:

select convert(datetime,'12312009')

Msg 242, Level 16, State 3, Line 1 
The conversion of a char data type to a datetime data type resulted in 
an out-of-range datetime value

tak zkuste toto:

DECLARE @Date char(8)
set @Date='12312009'
SELECT CONVERT(datetime,RIGHT(@Date,4)+LEFT(@Date,2)+SUBSTRING(@Date,3,2))

VÝSTUP:

-----------------------
2009-12-31 00:00:00.000

(1 row(s) affected)


  1. WEEKDAY() vs DAYOFWEEK() v MariaDB:Jaký je rozdíl?

  2. MySQL Workbench

  3. porovnání sloupce se seznamem hodnot v t-sql

  4. Deset způsobů, jak váš datový projekt selže