我用Google搜索并用Google搜索然后我用Google搜索了一些......但是,我无法想出这个。
以下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')
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
答案 0 :(得分:1)
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
输出
3
4