【发布时间】:2014-07-16 15:24:17
【问题描述】:
我的表中有以下列:
year decimal(4,0)
month decimal(2,0)
day decimal(2,0)
我正在尝试将它们转换如下:
SELECT (CAST (CAST(year AS varchar(4))
+CAST(month AS varchar(2))
+CAST(day AS varchar(2)
) AS date ) ) AS xDate
FROM table
ORDER BY xDate DESC
但我收到此错误:
从字符串转换日期和/或时间时转换失败。
【问题讨论】:
-
您是否要转换为日期时间?
-
我用硬编码的数字做了一个快速测试,它对我有用,所以你确定“年”、“月”和“日期”是数字并且在可接受的范围内吗?
-
@Kris - 我正在尝试将其转换为日期,但如果它很容易转换为日期时间,那也没关系,但我遇到了错误。
-
@jimo3 - 是的,它们是数字,但数据类型是十进制并试图转换为日期数据类型。
标签: sql sql-server sql-server-2008 tsql