用SQL查询分析器查询时怎么把一个字段用“”分割成多个?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用SQL查询分析器查询时怎么把一个字段用“”分割成多个?相关的知识,希望对你有一定的参考价值。

全文如题 告诉我代码 简单的就行 不要废话的

一般来讲都是从程序读取出来数据后在进行分割。
如果你非要从数据库查询出来就分割好,在sql server下只能去写split函数
if object_id(’f_split’) is not null

drop function f_split

go

create function f_split(@aString varchar(8000),@pattern varchar(10))

returns @temp table(a varchar(100))

--实现split功能 的函数

--说明:@aString,字符串,如a:b:c;@pattern,分隔标志,如 :

as

begin

declare @i int

set @aString=rtrim(ltrim(@aString))

set @i=charindex(@pattern,@aString)

while @i>=1

begin

insert @temp values(left(@aString,@i-1))

set @aString=substring(@aString,@i+1,len(@aString)-@i)

set @i=charindex(@pattern,@aString)

end

if @aString<>’’

insert @temp values(@aString)

return

end

--在下上述代码,然后就可以用了,例子:

select * from dbo.f_split(’0|418001|418002|418002’,’|’)
参考技术A SELECT
(CASE WHEN CHARINDEX('|',[字段]) > 0 THEN
SUBSTRING([字段],1,CHARINDEX('|',[字段)-1)
ELSE ''
END) AS [字段1],
(CASE WHEN CHARINDEX('|',[字段]) > 0 THEN
SUBSTRING([字段],CHARINDEX('|',[字段)+1,LEN([字段])-CHARINDEX('|',[字段])+1)
ELSE ''
END) AS [字段2]
FROM [Table]
参考技术B 什么叫废话?
那就答:不会

用sql怎么更新指定数量的记录?

比如sqlserver里面有200条记录有一个相同的字段,我想更新其中100条中的这个字段,怎么才能实现?
没有ID字段;想要更新的字段没有区别,比如有一个字段叫做group char(1),原来值都是0,现在想把他们每100个分为一组。前100个值为‘1’,后100个值为‘2’。

比如这个表有个ID字段,你想更新前100条,则

update 表 set data=\'1\' where id<=100

没区别怎么更新啊,根本不可能做到!
参考技术A 只用SQL语法好像比较难,呵,一个比较笨的办法,可以在ASP(或其他程序)里写判断语句来执行,做一个到100的循环,将数据一条条读出来修改 参考技术B 你想更新的这100条记录与不想更新的那100条记录有什么区别?

以上是关于用SQL查询分析器查询时怎么把一个字段用“”分割成多个?的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 数据字段值是用逗号隔开,如何写SQL语句

1、sql查询语句时怎么把几个字段拼接成一个字段?这几个字段是整型的。

sql如何把查询到的NULL替换成空值''

Mysql 数据字段值是用逗号隔开,如何写SQL语句

sql中对json数据字段的查询?

sql语句,怎么将一段日期分割成每日?请高人解答。