我要求将用户输入的多个日期类型输入转换为标准日期格式,即
旧表中的输入日期格式为Varchar数据类型,可以是DD / MM / YYYY或DDMMYYYY或DDMMYY格式(由用户手动输入)
示例:08/10/2013或08102013或081013
我的要求是将其转换为标准日期格式,我该如何实现?
任何帮助将不胜感激
答案 0 :(得分:3)
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
<强> Results 强>:
| COLUMN_0 |
|------------|
| 2013-10-08 |
| 2013-10-08 |
| 2013-10-08 |