我想在SQL Server中将文本转换为日期时间。
我的格式为dd/mm/yyyy
,但我希望将此文字格式转换为日期时间yyyymmdd
。
我正在使用这种方法。
Convert(varchar(8), Right(text, 4) + Substring(text, 4, 2) + Left(text, 2), 112)
但我需要一个更简单的查询。
答案 0 :(得分:2)
<强>答案:强>
SELECT FORMAT(CONVERT(date, '30/01/2018', 103), 'yyyyMMdd')
<强>解释强>
所以这个有点棘手,因为你有DD / MM / YYYY,所以你需要首先进行CONVERT:
SELECT CONVERT(date, '30/01/2018', 103)
结果:2018-01-30
然后,如果您使用的是SQL Server 2012+,请使用FORMAT()
SELECT FORMAT(CONVERT(date, '30/01/2018', 103), 'yyyyMMdd')
结果:20180130