Sql server 用于在Sql Server中查找连字符的查询
我在数据库中有这样的记录,如下所示。我想搜索Account列,这是我的AccountDetails表中的最后一列。我想根据以下条件进行搜索: 1-要查找在第一个数字(可以是任何数字)后包含连字符的软管记录Sql server 用于在Sql Server中查找连字符的查询,sql-server,Sql Server,我在数据库中有这样的记录,如下所示。我想搜索Account列,这是我的AccountDetails表中的最后一列。我想根据以下条件进行搜索: 1-要查找在第一个数字(可以是任何数字)后包含连字符的软管记录 12-要查找在第二个数字(可以是任何数字)后包含连字符的记录 123要查找在第三个数字(可以是任何数字)后包含连字符的记录 会计明细表 230263 jba 100-1807 230263 jba 100-1808 230263 jba 100-1809 235572 jba 99-1
12-要查找在第二个数字(可以是任何数字)后包含连字符的记录
123要查找在第三个数字(可以是任何数字)后包含连字符的记录 会计明细表
230263 jba 100-1807
230263 jba 100-1808
230263 jba 100-1809
235572 jba 99-1818
235572 jba 99-1819
235572 jba 99-1820
235572 jba 9-1818
235572 jba 9-1819
235572 jba 9-1820
我是这样做的
Select * From WF_Account Where CompanyId = 'jba' and Account Like '%-%'
不确定正在运行哪个版本的sql 但在SQL Server中,您可以使用
CHARINDEX
或SQL 2012FINDSTRING
e、 g
编辑:
您还可以使用PATINDEX
,它返回模式的字符串位置
所以也许:
WHERE PATINDEX('%-', Col1) <= 3
WHERE-PATINDEX('%-',Col1)不确定正在运行哪个版本的sql
但在SQL Server中,您可以使用CHARINDEX
或SQL 2012FINDSTRING
e、 g
编辑:
您还可以使用PATINDEX
,它返回模式的字符串位置
所以也许:
WHERE PATINDEX('%-', Col1) <= 3
WHERE PATINDEX('%-',Col1)您可以尝试此查询:
1-要查找在第一个数字(可以是任何数字)后包含连字符的记录
12-要查找第二个数字后包含连字符的记录(可以是任何内容)
123要查找在第三个数字(可以是任何数字)后包含连字符的记录
您可以尝试以下查询:
1-要查找在第一个数字(可以是任何数字)后包含连字符的记录
12-要查找第二个数字后包含连字符的记录(可以是任何内容)
123要查找在第三个数字(可以是任何数字)后包含连字符的记录
用这个怎么样
1-要查找第一个数字后包含连字符的软管记录(可以是任何内容)
12-要查找第二个数字后包含连字符的记录(可以是任何内容)
123要查找在第三个数字(可以是任何数字)后包含连字符的记录
用这个怎么样
1-要查找第一个数字后包含连字符的软管记录(可以是任何内容)
12-要查找第二个数字后包含连字符的记录(可以是任何内容)
123要查找在第三个数字(可以是任何数字)后包含连字符的记录
使用LIKE的[]字符集选项。如果需要在字符集中添加连字符,请参见转义子句
select * from WF_Account
-- Hypen after one digit
where Account like '[0-9]-%'
-- Hypen after two digits
or Account like '[0-9][0-9]-%'
-- Hypen after three digits
or Account like '[0-9][0-9][0-9]-%'
使用LIKE的[]字符集选项。如果需要在字符集中添加连字符,请参见转义子句
select * from WF_Account
-- Hypen after one digit
where Account like '[0-9]-%'
-- Hypen after two digits
or Account like '[0-9][0-9]-%'
-- Hypen after three digits
or Account like '[0-9][0-9][0-9]-%'
只需分隔第三列并计算第一个数字:)只需分隔第三列并计算第一个数字:)
SELECT *
FROM WF_Account
WHERE CompanyId = 'jba'
AND CHARINDEX('-', Account) = 4
Select * From WF_Account Where CompanyId = 'jba' and Account Like '_-%';
Select * From WF_Account Where CompanyId = 'jba' and Account Like '__-%';
Select * From WF_Account Where CompanyId = 'jba' and Account Like '___-%';
select * from WF_Account
-- Hypen after one digit
where Account like '[0-9]-%'
-- Hypen after two digits
or Account like '[0-9][0-9]-%'
-- Hypen after three digits
or Account like '[0-9][0-9][0-9]-%'