sql - 得到错误不正确的语法我做错了什么
问题描述
我从这段代码中得到一个错误:
DECLARE @New_Hospitalstaff TABLE
(
[NAME] VARCHAR(50),
JOB VARCHAR(50),
HIREDATE DATETIME,
CITY VARCHAR(50),
[STATE] VARCHAR(50)
)
INSERT INTO @New_Hospitalstaff (NAME, JOB, HIREDATE, CITY, STATE)
SELECT
(SUBSTRING(Name, 1, (CHARINDEX('_', Name) - 1,))), AS Name
(SUBSTRING(JoB, (CHARINDEX('_'job) + 1, 15)) AS JobHireDate,
(SUBSTRING(Location, 1, (CHARINDEX('_', Location) - 1))) AS City
(SUBSTRING(Location, CHARINDEX('_', Location) + 1, 10)) AS State
FROM
DBO.HospitalStaff
SELECT *
FROM @New_Hospitalstaff
解决方案
您会遇到很多语法错误。我认为格式化您的代码并更加注意括号会对您有所帮助。看看这个并与你的比较。
DECLARE @New_Hospitalstaff TABLE ( [NAME] varchar(50) , [JOB] varchar(50) , [HIREDATE] datetime ,
[CITY] varchar(50) , [STATE] varchar(50) )
INSERT INTO @New_Hospitalstaff(NAME,JOB,HIREDATE,CITY,STATE )
SELECT (SUBSTRING(Name,1, (CHARINDEX('',Name)-1))) AS Name,
-- Missing [JOB] field in query. Needed in order for INSERT to work.
-- You probably want the whole field so: JOB,
(SUBSTRING(JOB, (CHARINDEX('', job)+1),15)) AS JobHireDate,
(SUBSTRING(Location,1, (CHARINDEX('',Location)-1))) As City,
(SUBSTRING(Location, CHARINDEX('',Location)+1,10)) As State
FROM DBO.HospitalStaff
SELECT * FROM @New_Hospitalstaff
我根据被调用的函数修复了不合适的逗号、缺少括号和额外的括号。
推荐阅读
- python - TypeError: __init__() 缺少 3 个必需的位置参数
- android - 领域平台获取用户拥有的领域
- android-studio - 如何在 Android Studio 中创建文件夹
- odoo - Odoo 12 - CSV 数据导入查询
- jquery - jQuery.ajax 不是函数 TypeError: jQuery.ajax 不是函数
- django - Django Crispy 表单输入乱序
- css - Flexdashboard - 主题和 CSS
- webpack - Laravel Mix - JS 作为 ES2016
- java - 可能带有条件运算符的 Java 错误
- javascript - EJS 如果条件从未满足