Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Konwertuj varchar na datetime w SQL Server

OP chce mmddyy, a zwykła konwersja nie zadziała:

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

więc spróbuj tego:

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

WYJŚCIE:

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

(1 row(s) affected)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. podziel alfa i numeryczne za pomocą sql

  2. Napraw problem oczekujący na odzyskanie bazy danych SQL z odmową dostępu

  3. SQL wybierz max(data) i odpowiednią wartość

  4. Przykłady konwersji „daty” na „przesunięcie daty” w SQL Server (T-SQL)

  5. Lista operatorów porównania SQL Server