我需要将用户输入的多种日期类型转换为标准日期格式,即
旧表的输入日期格式是 Varchar 数据类型,可以是 DD/MM/YYYY 或 DDMMYYYY 或 DDMMYY 格式(用户手动输入)
示例:08/10/2013 或 08102013 或 081013
我的要求是将其转换为标准日期格式,我该如何实现?
任何帮助,将不胜感激
我需要将用户输入的多种日期类型转换为标准日期格式,即
旧表的输入日期格式是 Varchar 数据类型,可以是 DD/MM/YYYY 或 DDMMYYYY 或 DDMMYY 格式(用户手动输入)
示例:08/10/2013 或 08102013 或 081013
我的要求是将其转换为标准日期格式,我该如何实现?
任何帮助,将不胜感激
MS SQL Server 2008 架构设置:
create table YourTable(DateCol varchar(20))
insert into YourTable values ('08/10/2013'), ('08102013'), ('081013')
查询 1:
select
case len(DateCol)
when 10 then convert(date, DateCol, 103)
when 8 then convert(date, stuff(stuff(DateCol, 5, 0, '/'), 3, 0, '/'), 103)
when 6 then convert(date, stuff(stuff(DateCol, 5, 0, '/'), 3, 0, '/'), 3)
end
from YourTable
结果:
| COLUMN_0 |
|------------|
| 2013-10-08 |
| 2013-10-08 |
| 2013-10-08 |