sql字符串转日期
列A里面是字符串nvarchar(50)格式的2012-01-31,现在我想把字符串nvarchar(50)类型变成日期类型的2012-01-31,使用selectcon...
列A里面是字符串nvarchar(50)格式的2012-01-31,现在我想把字符串nvarchar(50)类型变成日期类型的2012-01-31,
使用select convert(datetime,列A) from tableA,显示“从字符串向 datetime 转换时失败。”
请问高手指点,这样应该怎样将列A转变成日期类型呢? 展开
使用select convert(datetime,列A) from tableA,显示“从字符串向 datetime 转换时失败。”
请问高手指点,这样应该怎样将列A转变成日期类型呢? 展开
5个回答
展开全部
--给你两个转日期的格式 实际中后面那个用的还多一点 虽然写法复杂点
select CAST(列A as datetime) 列A
from (select 列A,ISDATE(列A) bz from tableA ) aa where aa.bz=1
select cast(convert(char(10),列A,120) as datetime) 列A
from (select 列A,ISDATE(列A) bz from tableA ) aa where aa.bz=1
select CAST(列A as datetime) 列A
from (select 列A,ISDATE(列A) bz from tableA ) aa where aa.bz=1
select cast(convert(char(10),列A,120) as datetime) 列A
from (select 列A,ISDATE(列A) bz from tableA ) aa where aa.bz=1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-08-22
展开全部
sql字符串转日期
120或者121的格式是YYYY-MM-DD
而您这个格式是日月年的格式,使用105
SELECT convert(datetime,'30-03-2011',105)
120或者121的格式是YYYY-MM-DD
而您这个格式是日月年的格式,使用105
SELECT convert(datetime,'30-03-2011',105)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-31
展开全部
可能是你的数据库里面, 某些数据 不是有效的日期。
你尝试执行一下
SELECT A FROM 表
WHERE
ISDATE( A ) = 0;
该语句将返回那些 认为不是日期的数据。
你尝试执行一下
SELECT A FROM 表
WHERE
ISDATE( A ) = 0;
该语句将返回那些 认为不是日期的数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你列A里面的有转不了日期的,例如2013-3-50,因为日期里面没有这一天,所以会提示转换失败,把这些数据去掉或者改下就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select cast(列A as datetime) from tableA
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询