我有一个名为SF_Data的表,并且有一个名为IN_Date的列,ID数据如下:
ID IN_Date
1 9/8/2010
2 26/04/2011
3 20/09/2010
IN_Date的数据类型是varchar(50)。
我正在尝试将IN_Date转换为mm / dd / yyyy格式。我试过这样做:
Select convert(varchar,IN_Date,103) From dbo.SF_Data
但格式仍然没有改变。谁能告诉我哪里出错了
答案 0 :(得分:8)
在格式化之前,您需要转换来修复数据(到正确的数据类型) ...
Select
convert(varchar,
convert(date, IN_Date, 103),
101)
from dbo.SF_Data
答案 1 :(得分:1)
从convert
转换为varchar
时,varchar
的第3个参数没有意义。因此,根据@marc_s的评论,您必须使用103格式将varchar
转换为datetime
,然后从datetime
转换为varchar
,指定101格式:
Select convert(varchar(12),convert(datetime,IN_Date,103),101) From dbo.SF_Data
例如:
select convert(varchar(12),convert(datetime,'31/12/2001',103),101)
打印12/31/2001
。