sql字符串转换日期

update A set birthday=subSTRING(id,7,4)+'-'+subSTRING(id,11,2)+'-'+subSTRING(id,13,2)

怎么写语句才可以把我取出subSTRING(id,7,4)....转换成日期?

字符串转日期

to_date('2016-11-04','yyyy-mm-dd hh24:mi:ss')

根据需要转换

to_date('2016','yyyy'),不过只有年份的话会变成这样

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-31
--给你两个转日期的格式 实际中后面那个用的还多一点 虽然写法复杂点
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
第2个回答  2017-08-22
sql字符串转日期
120或者121的格式是YYYY-MM-DD
而您这个格式是日月年的格式,使用105
SELECT convert(datetime,'30-03-2011',105)
第3个回答  2013-05-31
可能是你的数据库里面, 某些数据 不是有效的日期。

你尝试执行一下

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

该语句将返回那些 认为不是日期的数据。
第4个回答  2019-04-19
MS SQL 2008R2中实测:
select convert(datetime,'1899-12-30',20)+43574
输出
2019-04-19 00:00:00.000
核心是 convert(datetime,'1899-12-30',20)
我为了把excel中变成整数的日期在sql中转换回日期,小费劲了一把。
相似回答