首页 > 解决方案 > 将 varchar 列转换为日期时间

问题描述

我有一个表,其中有一列dateofbirth varchar(10)。里面的所有数据都是这样存储的'02/01/1990'

我需要将其转换为datetime. 我试过了

CAST(DateofBirth AS DATEITME) AS BirthDate

但是当我尝试导入时,我不断收到此错误:

将 varchar 数据类型转换为 datetime 数据类型导致值超出范围"

我需要这样的:

1990-02-01 00:00:00:000

标签: sqlsql-server

解决方案


SELECT CONVERT(Datetime, '2011-09-28 18:01:00', 120) -- 将其转换为日期时间 SELECT CONVERT( VARCHAR(30), @date ,105) -- 意大利语格式 [28-09-2011 18:01:00] + ' ' + SELECT CONVERT( VARCHAR(30), @date ,108 ) -- 完整日期 [带时间/分钟/秒]


推荐阅读