1

我需要将用户输入的多种日期类型转换为标准日期格式,即

旧表的输入日期格式是 Varchar 数据类型,可以是 DD/MM/YYYY 或 DDMMYYYY 或 DDMMYY 格式(用户手动输入)

示例:08/10/2013 或 08102013 或 081013

我的要求是将其转换为标准日期格式,我该如何实现?

任何帮助,将不胜感激

4

1 回答 1

3

SQL小提琴

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 |
于 2013-10-08T07:10:58.147 回答