2016-12-05 70 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。