sql时间格式转换问题
来源:互联网 发布:playstv是什么软件 编辑:程序博客网 时间:2024/04/29 16:53
因为新开发的软件需要用一些旧软件生成的一些数据,在时间格式上不统一,只能手工转换,研究了一下午写了三条语句,以前没怎么用过convert函数和case语句,还有"+"操作符在不同上下文环境也会起到不同的作用,把我搞晕了要,不过现在看来是差不多弄好了。
1、把所有"70.07.06"这样的值变成"1970-07-06"
UPDATE lvshi
SET shengri = '19' + REPLACE(shengri, '.', '-')
WHERE (zhiyezheng = '139770070153')
SET shengri = '19' + REPLACE(shengri, '.', '-')
WHERE (zhiyezheng = '139770070153')
2、在"1970-07-06"里提取"70","07","06"
SELECT SUBSTRING(shengri, 3, 2) AS year, SUBSTRING(shengri, 6, 2) AS month,
SUBSTRING(shengri, 9, 2) AS day
FROM lvshi
WHERE (zhiyezheng = '139770070153')
SUBSTRING(shengri, 9, 2) AS day
FROM lvshi
WHERE (zhiyezheng = '139770070153')
3、把一个时间类型字段转换成"1970-07-06"
UPDATE lvshi
SET shenling = CONVERT(varchar(4), YEAR(shenling))
+ '-' + CASE WHEN LEN(MONTH(shenling)) = 1 THEN '0' + CONVERT(varchar(2),
month(shenling)) ELSE CONVERT(varchar(2), month(shenling))
END + '-' + CASE WHEN LEN(day(shenling)) = 1 THEN '0' + CONVERT(char(2),
day(shenling)) ELSE CONVERT(varchar(2), day(shenling)) END
WHERE (zhiyezheng = '139770070153')
SET shenling = CONVERT(varchar(4), YEAR(shenling))
+ '-' + CASE WHEN LEN(MONTH(shenling)) = 1 THEN '0' + CONVERT(varchar(2),
month(shenling)) ELSE CONVERT(varchar(2), month(shenling))
END + '-' + CASE WHEN LEN(day(shenling)) = 1 THEN '0' + CONVERT(char(2),
day(shenling)) ELSE CONVERT(varchar(2), day(shenling)) END
WHERE (zhiyezheng = '139770070153')
- sql时间格式转换问题
- SQL 日期时间格式的转换问题
- sql时间格式转换
- sql 时间格式转换
- SQL时间转换格式
- sql 时间格式转换
- Sql时间格式转换
- sql时间格式转换
- 时间格式转换问题
- sql 时间格式转换大全
- Sql日期时间格式转换
- sql 时间格式转换大全
- SQL时间格式转换大全
- sql时间格式转换大全
- sql时间格式转换大全
- Sql日期时间格式转换
- sql 日期时间格式转换
- sql时间格式转换大全
- 没有标题
- [分享]不用API实现截屏/截取当前窗口内容(“抓图”)
- Javascript技术技巧大全
- vector vs deque
- 到底是这里的blog改革了还是只是我的出现了问题?
- sql时间格式转换问题
- 无线局域网组网
- 一个中国退伍特种兵的真实经历
- 笑话——女生宿舍的骚扰电话
- 匿怨而友其人,左丘明耻之,丘亦耻之。我不是圣人,我假装什么都没发生。
- listbox之间item的添加和移除
- Asp.Net学习之术语篇
- Java设计模式之Observer(观察者)模式
- 买二手房不能大意 专家:收楼要注意五个要点