尝试为表添加日期列时遇MSG 156关键字附近语法错误求助
解决SQL语法错误方案
错误原因是current_date是SQL Server的保留关键字,不能直接作为列名使用,以下两种方法可以解决:
方法1:用方括号包裹列名转义
把current_date用[]包裹,让SQL Server将其识别为普通列名,修改后的代码如下:
ALTER TABLE Salesforce_Expanded ADD [current_date] DATE; GO UPDATE Salesforce_Expanded SET [current_date] = DATEADD(week, Week_Count-1, start_date);
方法2:更换非保留关键字的列名
换一个自定义的、不会和系统关键字冲突的列名,比如calculated_week_date,代码示例:
ALTER TABLE Salesforce_Expanded ADD calculated_week_date DATE; GO UPDATE Salesforce_Expanded SET calculated_week_date = DATEADD(week, Week_Count-1, start_date);
内容的提问来源于stack exchange,提问作者user21126867
相关产品推荐
相关产品推荐

