Dav*_*key 6 sql t-sql database sql-server
我(不幸的是)有一些日期被保存到varchar列中.这些列包含以下格式的日期:
MMDDYY
例如:
010110
我需要将这些值导入到一个表中,该表设置为datetime并格式化日期,如下所示:
2010-09-17 00:00:00.000
如何将上面的字符串转换为下面的日期时间值?
CAST功能会这样做,问题是它会假设你前两位数是年份.这应该适合你:
SELECT CAST((RIGHT('010110',2) + LEFT('010110',4)) AS DATETIME)
Run Code Online (Sandbox Code Playgroud)
这假设所有日期都是MMDDYY.
这是一个解决方案
SELECT CAST(SUBSTRING(@date, 5, 2) + SUBSTRING(@date, 1, 4) AS DATETIME)
Run Code Online (Sandbox Code Playgroud)