如何从 sql table 中找到完全匹配的字符串?
How to find exact matching string from sql table?
我有一个 table,其中列出了产品名称。我有一些产品类似于 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在内的所有产品。
我只想列出 table 中的 ID,怎么做
希望你明白了
此致
在这种情况下,只需与 ID
进行比较即可,不需要 like 子句。在我们必须使用某种模式或匹配词搜索词的地方需要 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
Select * from products where name = 'ID';
我有一个 table,其中列出了产品名称。我有一些产品类似于 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在内的所有产品。 我只想列出 table 中的 ID,怎么做
希望你明白了
此致
在这种情况下,只需与 ID
进行比较即可,不需要 like 子句。在我们必须使用某种模式或匹配词搜索词的地方需要 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
Select * from products where name = 'ID';