我有一个表,其中有一个用于dateofbirth varchar(10)的列。内部的所有数据都存储在这个'02/01/1990'中。
我需要把它转换成datetime。我试过了
CAST(DateofBirth AS DATEITME) AS BirthDate但是,当我尝试导入时,我仍然会得到这个错误:
将varchar数据类型转换为日期时间数据类型会导致超出范围的值“
我需要这样的:
1990-02-01 00:00:00:000发布于 2018-12-24 17:48:25
您需要将格式为MM/DD/YYYY的Varchar转换为日期时间。
Sql server识别一组它能够自动解析的预定义日期格式。见这张作弊名单。
您的输入格式对应于sql server日期格式101,因此您可以:
SELECT CONVERT(Datetime, '02/01/1990', 101) 发布于 2018-12-24 17:36:56
选择转换(日期时间,'2011-09-28 18:01:00',120) -将其转换为日期时间选择转换( VARCHAR(30),@date ,105) -意大利语格式28-09-2011 18:01:00 +‘’+ SELECT ( VARCHAR(30),@date ,108 )-使用时间/分钟/秒的完整日期
发布于 2018-12-24 17:38:00
如果尝试在sql查询中执行此操作,则会使用语法进行操作。这里有个链接。SQL Server将Varchar转换为Datetime
https://stackoverflow.com/questions/53916223
复制相似问题