Sql server 转换和排序varchar Date dd MMM yyyy
我正在使用一个日期为varchar的表。日期格式示例: 2015年6月17日 我尝试了以下方法将日期(dd-MMM-yyy)转换和排序为dateTimeSql server 转换和排序varchar Date dd MMM yyyy,sql-server,date,sql-server-2012,Sql Server,Date,Sql Server 2012,我正在使用一个日期为varchar的表。日期格式示例: 2015年6月17日 我尝试了以下方法将日期(dd-MMM-yyy)转换和排序为dateTime SELECT date, name, author FROM sometable ORDER BY CONVERT(DATETIME, date, 106) DESC 我还尝试转换select语句中的日期。不起作用。错误是 从字符串转换日期和/或时间时,转换失败 转换类型通过一些类似的问题,但我没有找到任何解决方案的格式,我有。有没有办法在日
SELECT date, name, author
FROM sometable
ORDER BY CONVERT(DATETIME, date, 106) DESC
我还尝试转换select语句中的日期。不起作用。错误是
从字符串转换日期和/或时间时,转换失败
转换类型通过一些类似的问题,但我没有找到任何解决方案的格式,我有。有没有办法在日、月和年之间选择分隔符
我还浏览了这个链接,其中有datetime
格式。106最接近我的varchar
日期。表中只有我的日期在日、月和年之间有“-”
感谢您的帮助。使用106转换日期格式应该是绝对正确的 但是我猜您的表中包含了导致错误的列中的一些无效值,请尝试通过以下方式将它们识别出来:
我将使用日期样式
113
转换为日期时间格式,如下所示:
DECLARE @date VARCHAR(20) = '17-Jun-2015';
SELECT CONVERT(VARCHAR(20),CAST(@date AS DATETIME),113)
DECLARE @date VARCHAR(20) = '17-Jun-2015';
SELECT CONVERT(VARCHAR(20),CAST(@date AS DATETIME),113)