我有一些包含一些列的表。该表格为executedate (char(12))
,其值为2003/1/2
,2004/01/12
,2002/1/02
,2002/05/09
我想将它们设为yyyy/mm/dd
格式。
我该怎么做?
答案 0 :(得分:0)
最简单的方法是使用parsename
。这是一个样本
declare @t table (
executedate char(12)
)
insert into @t
values
('2003/1/2')
, ('2004/01/12')
, ('2002/1/02')
, ('2002/05/09')
select
executedate
, newVal = parsename(val, 3) + '/' + right('00' + parsename(val, 2), 2)
+ '/' + right('00' + parsename(val, 1), 2)
from
@t
cross apply (select val = rtrim(replace(executedate, '/', '.'))) q1