2024-05-16 11:10:35
首先,要说明一下,MSSQL是没有内置Split函数的,需要你自己去创建标量值函数的,创建标量值函数的t-sql脚本如下:
use your_db_name
go
create function Split-- 创建标量值函数Split
(
@express nvarchar(2000), -- 字符串表达式
@character char(1), -- 分隔字符
@position int -- 获取数组第几个元素,下标从1开始
)
returns nvarchar(100)
as
begin
declare @index int=1;
declare @pos int=0;
declare @tch nvarchar(50);
if @position<=0 set @position=1;-- 下标从1开始
while @index<=len(@express) begin
if substring(@express,@index,1)=@character begin
if @pos=@position break;-- 已到达指定的索引
else -- 未到达
begin
set @tch='';
set @pos+=1;
end
end
if substring(@express,@index,1)<>@character
set @tch+=substring(@express,@index,1);
set @index+=1;
end
return @tch;-- 返回指定索引的元素
end
go
-- 用法示例:
declare @str nvarchar(50)='0,5,0,ff,bb,ds,ym,dsf';
print dbo.Split(@str,',',4)-- print 'bb'
go
要在Asp 页面输出怎么写
SELECT * FROM MyName WHERE dbo.Split(Mycont,',',4)='bb'