在存储过程中将列设置为当前月份

时间:2015-05-26 16:50:17

标签: sql sql-server sql-server-2008

我正在尝试设置一个名为tmonth的列来说"这个月是当前的月份',例如:

tmonth 这个月是五月 这个月是五月 这个月是五月 这个月是五月

我试图通过存储的priocedure来做到这一点。但是,价格会产生错误:

Msg 102, Level 15, State 1, Line 1
Incorrect syntax near 'month'.

以下是代码:

USE [db1]
GO
07:37:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

DECLARE @import1 VARCHAR(max)
DECLARE @DATE_AP dateTime
DECLARE @month_AP varchar(max)
DECLARE @year_AP varchar(max)

SET @DATE_AP= DATEADD(year, 0, GETDATE())
SET @year_AP = YEAR(@DATE_AP)
SET @month_AP = DATENAME(Month, @DATE_AP)

SELECT CAST(@month_AP as VARchar(10))

print 'this month is'+''+@month_AP+''

SELECT @import22= 'UPDATE [dbo].[table1] SET tmonth='+'This month is'+''+@month_AP+''

EXEC (@import1)

2 个答案:

答案 0 :(得分:1)

尝试更改此行:

 SELECT @import22= 'UPDATE [dbo].[table1] SET tmonth='+'This month is'+''+@month_AP+''

到行:

 SELECT @import22 = 'UPDATE [dbo].[table1] SET tmonth='''+'This month is'+''+@month_AP+''''

因为更新应该如下所示:

UPDATE [dbo].[table1] SET tmonth='This month isMay' 

不是这个:

 UPDATE [dbo].[table1] SET tmonth=This month isMay

答案 1 :(得分:1)

这不需要使用动态SQL。只是直接使用变量。 尝试这样的事情:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">    
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
     <link href="Content/bootstrap.css" rel="stylesheet" />    
     <script src="Scripts/jquery-2.1.3.min.js"></script>
    <script src="Scripts/bootstrap.min.js"></script>          
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <br />
    <br />
    <br />
     <form id="form1" runat="server">    
         <br />
         <br />
         <asp:TextBox ID="TextBox1" data-toggle="tooltip" data-placement="right"  
                                                  runat="server"></asp:TextBox>    
         <script>
             $(document).ready(function () {
                 $('[data-toggle="tooltip"]').tooltip();
             });
        </script>           
    </form>    
</asp:Content>