Bes*_* 87 2 sql sql-server sql-server-2005 sql-like
我有一个表在SQL Server 2005中具有以下列:
DocID NSN QTY
-----------------
DHA12 32 5
DSRB23 22 45
TF22 70 23
Run Code Online (Sandbox Code Playgroud)
每当我执行以下查询以获取所有具有以DSRB或DHA开头的DocId的NSN时,它都会给我空集:
SELECT DocId, NSN, Qty, RequestDate, ReceiveDate
FROM Orders
WHERE (DocID LIKE '%DSRB%')
AND (DocID LIKE '%DHA%')
Run Code Online (Sandbox Code Playgroud)
我想有两个LIKE子句的问题,因为当我删除最后一个LIKE子句时,查询工作正常.
因为在你的表没有行,你得到一个空的结果DocID是一样都 %DSRB% 和 %DHA%在同一时间.你不会在你的问题,但我猜你是期待着与DocIds收到两行DHA12和DSRB23.
要做到这一点,你需要选择行,其中DocID像要么 %DSRB% 或 %DHA%.尝试将AND您的WHERE子句更改为OR:
SELECT DocId, NSN, Qty, RequestDate, ReceiveDate
FROM Orders
WHERE (DocID LIKE '%DSRB%') OR (DocID LIKE '%DHA%')
Run Code Online (Sandbox Code Playgroud)
如果你想找到包含行无论是 XX 或 YY,你需要使用OR:
SELECT DocId, NSN, Qty, RequestDate, ReceiveDate
FROM Orders
WHERE (DocID LIKE '%DSRB%')
OR (DocID LIKE '%DHA%')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8720 次 |
| 最近记录: |