MonthName是SQL 2008中的保留字

时间:2009-07-29 19:11:05

标签: sql-server tsql reserved-words

我正在创建一个包含名为MonthName的列的表。当我定义这个列时,单词“MonthName”显示为蓝色,就像它是一个保留字。所以我试着查一查。

我无法在联机丛书或微软网站上找到它,甚至在我们自己的SO上找不到它。

我尝试了sp_help“monthname”,回复是“对象'月份''在数据库'yourdb'中不存在,或者对于此操作无效。

这是代码

Create Table AtlasDataWarehouseReports.Calendar
(
    CalendarId              Integer NOT NULL,
    DateValue               Date    NOT NULL,
    DayOfTheWeek            Integer NOT NULL,
    NameOfDay               VarChar (10) NOT NULL,
    MonthNumber             Integer NOT NULL,
    MonthName               VarChar (10) NOT NULL,  
    CalendarQuarter         Integer NOT NULL,   
    NameOfCalendarQuarter   VarChar (20) NOT NULL,
    FinancialQuarter        Integer NOT NULL,   
    NameOfFinancialQuarter  VarChar (20) NOT NULL,  
    CalendarYear            Integer NOT NULL,
    FinancialYear           Integer NOT NULL,
    WeekOfYear              Integer NOT NULL,
    JulianDay               Integer NOT NULL,
    USAIsBankHoliday        Bit     NOT NULL,
    USADayName              VarChar (100) NULL,
)
SQL Server Version Info
Microsoft SQL Server Management Studio  10.0.2531.0
Microsoft Analysis Services Client Tools 10.0.1600.22
Microsoft Data Access Components (MDAC) 3.85.1132
Microsoft MSXML 2.6 3.0 4.0 5.0 6.0 
Microsoft Internet Explorer 8.0.6001.18702
Microsoft .NET Framework 2.0.50727.3082
Operating System 5.1.2600

祈祷什么,是SQL 2008中的MonthName?

3 个答案:

答案 0 :(得分:1)

根据msdn MonthName似乎不是保留字。

答案 1 :(得分:1)

您或团队中的任何人是否已经编写了一个函数MonthName?

根据this,SQL 2005已经引入了MonthName函数。

编辑:我认为可以添加它来支持SQL Reporting Services。

EDIT2:我没有SQL管理工作室,但尝试输入任何Reporting Services函数名称,看看它们是否以蓝色突出显示。

答案 2 :(得分:0)

MONTHNAME是MySQL中的保留字。

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_monthname

你使用什么IDE使这个单词显示为蓝色?