Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Преобразувайте varchar в datetime в SQL Server

OP иска mmddyy и обикновен конвертор няма да работи за това:

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

така че опитайте това:

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

ИЗХОД:

-----------------------
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. Как да се присъединя към първия ред

  2. OPENXML с xmlns:dt

  3. Управлявайте паралелността на транзакциите с помощта на заключвания в SQL Server

  4. Как да извърша вмъкване и връщане на вмъкната идентичност с Dapper?

  5. Инсталация стъпка по стъпка на SQL Server 2017 -2