2016-12-05 73 views
0

我有一个表,其中AccessDatedatetime类型。 ,我试图做这样的事情:SQL SERVER - 日期转换失败

SELECT 'AccessDate' UNION ALL SELECT AccessDate FROM table_name 

我想表“AccessDate”的头插入查询的结果。 执行后出现以下错误:

从字符串转换日期和/或时间时转换失败。

有人可以帮助我?谢谢。

+1

列有使用'union'时是相同的数据类型。一个是char,另一个是你的例子中的datetime。 –

+0

因此,将AccessDate转换为VARCHAR将保留datetime使用的格式? –

+0

安全性 - >登录 - > youruser右键单击 - 属性并检查默认语言。 因为如果您使用的是其他语言,则会出现此错误。 – fable

回答

5

也就不足为奇了。您似乎希望在已存在字符的列中添加日期。您需要将日期转换为字符串:

SELECT 'AccessDate' UNION ALL 
SELECT CONVERT(VARCHAR(10), AccessDate, 121) 
FROM table_name; 

您可以使用任何您喜欢的格式。我更喜欢YYYY-MM-DD。