在SQL Server中将文本转换为日期

在SQL Server中将文本转换为日期,sql,sql-server,Sql,Sql Server,如何将“18/06/11”等文本值转换为“2011-06-18”等日期格式 我试过以下方法 转换(字符,[InstrumentText],106) 但值的格式保持不变 谢谢我从sqlusa.com上抓到了这个: 选择CAST([InstrumentText]作为日期时间)字符串的正确格式为103 更重要的是,您需要转换为datetime而不是char: convert(date,[InstrumentText], 103) 然后,如果要将其转换回yyyy mm dd格式的字符串,可以执行以下操

如何将“18/06/11”等文本值转换为“2011-06-18”等日期格式

我试过以下方法

转换(字符,[InstrumentText],106)

但值的格式保持不变


谢谢

我从sqlusa.com上抓到了这个:


选择CAST([InstrumentText]作为日期时间)

字符串的正确格式为103

更重要的是,您需要转换为
datetime
而不是
char

convert(date,[InstrumentText], 103)
然后,如果要将其转换回yyyy mm dd格式的字符串,可以执行以下操作:

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


因为您正在将其转换为char。尝试转换为日期时间。为什么首先要将日期信息存储在char数据类型中?为便于将来参考,请不要将日期存储为字符串!这会让你的生活很痛苦。谢谢,但我得到以下错误:从字符串转换日期和/或时间时转换失败。
SELECT convert(datetime, '18/06/11' , 3)