我有一个表,其中有一个列dateofbirth varchar(10)
。里面的所有数据都像这样'02/01/1990'
存储。
我需要将其转换为datetime
。我已经尝试过
CAST(DateofBirth AS DATEITME) AS BirthDate
但是当我尝试导入时,我仍然收到此错误:
将varchar数据类型转换为datetime数据类型导致值超出范围”
我需要这样:
1990-02-01 00:00:00:000
答案 0 :(得分:1)
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)-完整日期[带时间/分钟/秒]
答案 1 :(得分:0)
如果您尝试在sql查询中执行此操作,则有语法可以执行此操作。 这里的链接.. SQL Server Convert Varchar to Datetime
答案 2 :(得分:0)
您的演员表声明对我有用:
<script src="./car.js"></script>
<script src="./index.js"></script>
结果:
Declare @dateofbirth varchar(10) = '02/01/1990'
select cast(@dateofbirth as datetime)AS BirthDate
答案 3 :(得分:0)
您需要将MM / DD / YYYY格式的Varchar转换为Datetime。
Sql服务器识别出一组能够自动解析的预定义日期格式。参见this cheat list。
您的输入格式对应于sql server日期格式101,因此您可以执行以下操作:
SELECT CONVERT(Datetime, '02/01/1990', 101)