0

我正在尝试选择列C5721_USER_NAME不是以“ccs”C5721_USER_ORIGIN开头或不是以“ccs”开头的行。

如果任一以“ccs”开头,我不想要该列。

这是我的查询:

SELECT * 
FROM T5707_ISSUES 
WHERE (C5721_USER_ORIGIN NOT LIKE '%ccs%' OR C5721_USER_NAME NOT LIKE '%ccs%')
ORDER BY C5707_ISS_ID 

但我的结果是C5721_USER_NAME

cnewman
ctext
ccskym
lmbsiro
4

4 回答 4

2

你必须使用AND

SELECT * 
FROM T5707_ISSUES 
WHERE (C5721_USER_ORIGIN NOT LIKE 'ccs%' AND C5721_USER_NAME NOT LIKE 'ccs%')
ORDER BY C5707_ISS_ID 

此外,要搜索仅startsccs您有关的内容,不必在其%前面添加。

于 2013-09-09T13:58:48.487 回答
1

请试试这个:

SELECT * 
FROM T5707_ISSUES 
WHERE (C5721_USER_ORIGIN NOT LIKE 'ccs%' and C5721_USER_NAME NOT LIKE 'ccs%')
ORDER BY C5707_ISS_ID 

我已将or替换为and,因为当您使用 OR 时,可能会出现以这些字符开头的具有值的列。

于 2013-09-09T13:58:40.297 回答
0

如果您只希望它搜索不以您需要将查询更改为的值开头的记录:

SELECT * 
FROM T5707_ISSUES 
WHERE (C5721_USER_ORIGIN NOT LIKE 'ccs%' AND C5721_USER_NAME NOT LIKE 'ccs%')
ORDER BY C5707_ISS_ID 
于 2013-09-09T13:59:31.617 回答
0

你错了逻辑运算符 OR 而不是 AND

SELECT * 
FROM T5707_ISSUES 
WHERE (C5721_USER_ORIGIN NOT LIKE '%ccs%' and C5721_USER_NAME NOT LIKE '%ccs%')
ORDER BY C5707_ISS_ID 
于 2013-09-09T13:59:32.323 回答