如何从sql表中找到精确匹配的字符串?

时间:2018-02-20 10:52:18

标签: sql sql-server where-clause

我有一个列出产品名称的表。我有一些产品,如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,怎么做

希望你明白了

此致

2 个答案:

答案 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';