2014-10-08 229 views
0

如何将“18/06/11”之类的文本值转换为“2011-06-18”之类的日期格式?在SQL Server中将文本转换为日期

我曾尝试以下

转换(炭,[InstrumentText],106)

但该值只是停留在相同的格式

由于

+2

因为你正在把它转换为字符。尝试转换为日期时间。为什么您首先将日期信息存储在char数据类型中? – 2014-10-08 13:36:43

+0

供将来参考请不要在店铺日期作为字符串!它会让你的生活非常悲惨。 – Zane 2014-10-08 13:59:39

回答

0

我抓住这个从sqlusa .com:

SELECT CAST([InstrumentText] AS datetime)

+0

谢谢,但我得到以下错误:从字符串转换日期和/或时间时转换失败。 – 2014-10-08 13:39:35

1

你的字符串正确的格式似乎是103

更重要的是,你需要转换为datetime不是一个char

convert(date,[InstrumentText], 103) 

然后,如果您想将其转换回字符串格式为yyyy-MM-DD,你可以这样做:

convert(varchar(10), convert(date,[InstrumentText], 103), 120) 
1

尝试

SELECT convert(datetime, '18/06/11' , 3)