数据库查询语法问题
问题描述:
我得到一个语法错误在我的查询:数据库查询语法问题
near ",": syntax error:
我的查询是
select
emplnmbr, empname, desigtxt
from
emp_header
where
CMPYCODE = 'MMPL'
and orguntxt like ('%MARKETING%', '%PERSONNEL&ADMINISTRATION%')
如果我有一个值y替换查询
select
emplnmbr, empname, desigtxt
from
emp_header
where
CMPYCODE = 'MMPL'
and orguntxt like ('%MARKETING%')
它的工作原理是
。有人请帮我找到这个问题
答
如果你有多个值来检查,你需要使用IN
代替LIKE
,
SELECT
emplnmbr, empname, desigtxt
FROM
emp_header
WHERE
CMPYCODE = 'MMPL'
AND orguntxt IN ('%MARKETING%', '%PERSONNEL&ADMINISTRATION%')
答
如果您在尝试
SELECT emplnmbr,empname,desigtxt FROM emp_header WHERE CMPYCODE ='MMPL' AND orguntxt IN ('%MARKETING%','%PERSONNEL&ADMINISTRATION%')
使用IN操作符 SQLite的。这是用于精确匹配,如果你想获得那么所有的比赛是指@laalto
答案
答
试试这个:
select emplnmbr,empname,desigtxt from emp_header where CMPYCODE = 'MMPL' and orguntxt IN ('%MARKETING%','%PERSONNEL\&ADMINISTRATION%')
注: -像刚才节选一个参数。
答
组合多个LIKE
表达式,使用OR
:
orguntxt like '%MARKETING%' or orguntxt like '%PERSONNEL&ADMINISTRATION%'
IN
正如在许多其他的答案中提到了,这是完全匹配,不LIKE
模式匹配的问题。