我的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