我有一个列出产品名称的表。我有一些产品,如ZE_QE11_IDS_IDC-P01,ZE_QE19_EIDS_UPA-Z01。
我试过
Select * from products where name like 'ID'
以上列出了所有产品,包括ZE_QE11_IDS_IDC-P01,ZE_QE19_EIDS_UPA-Z01。 我想只列出表中的ID,怎么做
希望你明白了
此致
答案 0 :(得分:2)
在这种情况下,只需与ID
比较,不需要类似条款。如果我们必须用一些模式或匹配单词搜索单词,则需要like子句。
Select * from products where name = 'ID'
更新问题:
尝试以下查询:您必须为要消除的其他字符应用逻辑,如下所示我已应用字符E
的逻辑。
DECLARE @myText VARCHAR(50)='ZE_QE11_IDS_IDC-P01'
SELECT @myText where @myText like '%[^E]IDS%'
Output:ZE_QE11_IDS_IDC-P01
DECLARE @myText VARCHAR(50)='ZE_QE11_EIDS_IDC-P01'
SELECT @myText where @myText like '%[^E]IDS%'
Output:
如果想要SELECT @myText where @myText like '%[_]ID%'
而不是_ID
_EID
答案 1 :(得分:0)
Select * from products where name = 'ID';