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转变成日期类型呢?
展开
 我来答
17号观察室
推荐于2021-02-22 · TA获得超过5730个赞
知道大有可为答主
回答量:3666
采纳率:66%
帮助的人:1373万
展开全部
--给你两个转日期的格式 实际中后面那个用的还多一点 虽然写法复杂点
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)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-31
展开全部
可能是你的数据库里面, 某些数据 不是有效的日期。

你尝试执行一下

SELECT A FROM 表
WHERE
ISDATE( A ) = 0;

该语句将返回那些 认为不是日期的数据。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勇敢的樵夫
2013-05-31 · TA获得超过172个赞
知道小有建树答主
回答量:153
采纳率:100%
帮助的人:186万
展开全部
你列A里面的有转不了日期的,例如2013-3-50,因为日期里面没有这一天,所以会提示转换失败,把这些数据去掉或者改下就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badkano
2013-05-31 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885373
团长

向TA提问 私信TA
展开全部
select cast(列A as datetime) from tableA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式