Sql server SQL Server PatIndex点和连字符是什么意思?(帕蒂指数(';%[0-9-]';)
我搜索了又搜索,然后我又搜索了一些……然而,我无法理解这一点 在下面的SQL Server命令(在9之后)中,点和连字符是什么意思 PatIndex('%[0-9.-]' 这是工作中的代码Sql server SQL Server PatIndex点和连字符是什么意思?(帕蒂指数(';%[0-9-]';),sql-server,tsql,sql-server-2005,Sql Server,Tsql,Sql Server 2005,我搜索了又搜索,然后我又搜索了一些……然而,我无法理解这一点 在下面的SQL Server命令(在9之后)中,点和连字符是什么意思 PatIndex('%[0-9.-]' 这是工作中的代码 declare @tv_raw table(recnum int identity(1, 1) primary key, rawdata nvarchar(max)) insert into @tv_raw(rawdata) values('Washington 40 New Orleans 32') ins
declare @tv_raw table(recnum int identity(1, 1) primary key, rawdata nvarchar(max))
insert into @tv_raw(rawdata) values('Washington 40 New Orleans 32')
insert into @tv_raw(rawdata) values('St. Louis 23 Detroit 27')
select SubString(rawdata, PatIndex('%[0-9.-]%', rawdata)+3,PatIndex('%[0-9.-]%', rawdata))
from @tv_raw
Patindex返回
返回指定表达式中模式第一次出现的起始位置,如果在所有有效文本和字符数据类型上找不到模式,则返回零
所以它返回在模式中找到的任何字符的第一个位置…参见下面修改的示例
declare @tv_raw table(recnum int identity(1, 1) primary key, rawdata nvarchar(max))
insert into @tv_raw(rawdata) values('Wa0shington- 40 New Orleans 32')
insert into @tv_raw(rawdata) values('St.- Louis 23 Detroit 27')
select PatIndex('%[0-9-]%', rawdata)
from @tv_raw
输出:
34点和连字符只是[]中所包含列表中的其他搜索条件。因此,任何数字0-9,即0,1,2…,8,9或点或连字符。