2012-03-16 83 views
0

如何只插入datedate列?只插入日期到表SQL Server

我試着用cast('11-DEC-1999' as DATE)

但我得到的錯誤:

Conversion failed when converting date and/or time from character string.

+0

您正在使用哪個版本的SQL Server日期? – Murtaza 2012-03-17 04:32:13

+0

此表達式在我的服務器(SQL Server 2008 R2)上沒有生成任何錯誤。可能與區域設置有關? – 2012-03-17 15:20:16

回答

0

CONVERT(日期,'11-DEC-1999' 的),應該幫助。

1

只要使用'2012-02-14',應該沒問題。不需要轉換。

這裏是可以接受的阿爾法格式列表:從here

Apr[il] [15][,] 1996 

Apr[il] 15[,] [19]96 

Apr[il] 1996 [15] 

[15] Apr[il][,] 1996 

15 Apr[il][,][19]96 

15 [19]96 apr[il] 

[15] 1996 apr[il] 

1996 APR[IL] [15] 

1996 [15] APR[IL] 

撕開你可以指定爲完整的月份名稱每月指定日期的數據。例如,以當前語言指定的April或月份的月份縮寫;逗號是可選的,大寫字母被忽略。

以下是使用字母日期格式的一些準則:

用單引號(')的日期和時間數據。對於英語以外的語言,請使用N'

括號內的字符是可選的。

如果只指定年份的後兩位數字,則小於兩位數年份截止配置選項值的最後兩位數字的值與截止年份位於同一個世紀。大於或等於此選項值的值在截止年份之前的世紀中。例如,如果兩位數年份截止值爲2050(默認值),則25將被解釋爲2025,而50則被解釋爲1950.爲避免含糊不清,請使用四位數年份。

如果缺少一天,則提供該月的第一天。

當您按字母順序指定月份時,不會應用SET DATEFORMAT會話設置。

+0

但如何與'DEC'一起使用? – Saint 2012-03-16 23:06:14

+0

修改了包含Dec/December類型格式的答案。 – 2012-03-17 04:23:06

1

指定月份int和後取從中

 DateTime dt=new DateTime(11,12,1999).Date;