SQL Server语言 - 标准化 SQL 表中的列



我的SQL表中有一个名为"日期"的列,其中日期以不同的格式存储,例如:25/5/2000,2013年6月1日,5/1/1996,1990年1月23日等

我想将所有这些日期转换为单一格式,例如 DD/MM/YYYY 或 MM/DD/YYYY。我该怎么做?

使用 DATE 数据类型作为存储类型,并将格式保留在前端。

试试这个!

create table Table(DateColumn varchar(20))
insert into Table values ('25/5/2000'), ('25052000'), ('5/1/1996'),('jan-23-1990'),(05012000)
select
  case len(DateColumn)
    when 10 then convert(date, DateColumn, 103)
    when 8 then convert(date, stuff(stuff(DateColumn, 5, 0, '/'), 3, 0, '/'), 103)
    when 6 then convert(date, stuff(stuff(DateColumn, 5, 0, '/'), 3, 0, '/'), 3)
    when 11 then convert(date,Datecolumn,103)
-- depending on string length you may query this   
end
from table

如果您尝试在列中转换日期,请使用此示例站点来了解您要完成的任务,希望这有助于谢谢。 http://www.codeproject.com/Articles/576178/cast-convert-format-try-parse-date-and-time-sql

相关内容

  • 没有找到相关文章

最新更新