当前位置:首页 » 编程语言 » sql逗号拆分

sql逗号拆分

发布时间: 2022-05-22 06:30:42

㈠ Mysql 逗号分隔的字符串如何直接在SQL语句中拆分并组合使用

这个应该是你想要的结果,因为贴不了SQL语句,所以贴图给你看下吧。参考这个改一下应该就可以了。

原理,你首选需要把你zbb中员工编号给拆开陈两个列,然后用着两个列的值,分别和ygb中的id进行关联,分别得到两个列的姓名。然后再把这两个列的姓名用逗号连接拼装成一个列。

㈡ 编写一个sql语句,把b列中的数据用逗号分隔开,变成很多谢谢

这个我做过,拆分逗号分隔符变列
select a,
t.ca,
c.lv,instr(t.ca, ',', 1, c.lv) + 1,
substr(t.ca,
instr(t.ca, ',', 1, c.lv) + 1,
instr(t.ca, ',', 1, c.lv + 1) -
(instr(t.ca, ',', 1, c.lv) + 1)) AS c
from (select a,
',' || b || ',' AS ca,
b,
LENGTH(b),
length(b || ','),
REPLACE(b, ','),
length(REPLACE(b, ',')), --删除逗号的长度
nvl(length(REPLACE(b, ',')), 0), --空值长度为空,因此要将空值替换为0
length(b || ',') - nvl(length(REPLACE(b, ',')), 0) AS cnt --以逗号分隔的字符串个数,先在原来的长度上加1 计算去除所有逗号后字符串长度,再,拿这个
FROM TEST_A) t,
(select LEVEL lv from al CONNECT BY LEVEL <= 100) c
where c.lv <= t.cnt --逗号数量在100以内

㈢ sql逗号分隔 统计每个字符出现的个数

老实讲,你这个就有点痛苦了,数据可控的情况下还能简单做一下,否则还是把每条记录取出来,拆完缓存在一个地方再统计(可以用代码也可以用存储过程)

问题点在于
1. 记录分隔不规范,每条记录相当于存了不同数量的字符
2. 需要汇总所有记录*每个记录的字符数,再统计个数

单纯从sql的话,我们要做到的是
1, 将每条记录拆成不同的字符
2. 将所有记录,所有字符放在一列,分组统计不同字符个数

综上,如果最长记录的字符数可控的情况下(比如就最多5个字符),我们可以这么做
select num,count(1)
(
select substr(label_id,0,1) num from tab_label
union all
select substr(label_id,3,4) from tab_label
... // 这里将每个字符拆出来放到1列
) group by num // 按字符分组

㈣ sql语句怎样将查询结果逗号分开

如果查询结果为一行
SELECT 查询字段1+',' + 查询字段2 from 表名 where 1=1
如果查询结果为一列,需要将其先转换为xml,再截取符号。
SELECT
STUFF((SELECT ',' + 查询字段 from 表名 where 1=1
FOR XML PATH('')
), 1, 1, '')

㈤ sql 语句 如何将多个逗号字符串拆分成多条数据

sql server中没有这种函数,可以自建一个function去拆分,
给你个思路,
用charindex 或是instr等函数,在循环体中查找分隔符出现的位置和并记录出现次数到变量,然后使用substring函数截取字符串,输出

㈥ sql字符串怎么按逗号分割

[sql]
view
plainprint?
create
or
replace
function
f_intellect_first_sales_prov(var_sales
in
varchar2,
var_first_sales
in
varchar2,
var_split
in
varchar2)
return
varchar2
is
result
varchar2(1);
/****************************************************
**
[sql]
view
plainprint?
**
all
rights
reserved.
**
**
函数名称:f_intellect_first_sales_province
**

数:【名称】
【类型

【说明】
**
var_sales
varchar2
字符串1,逗号分隔的,如'aaa,bbb'
var_first_sales
varchar2
字符串2,逗号分割的,如'cc,aaa'
**
var_split
varchar2
要使用的分隔符
**


值:result
varchar2
处理后返回的值1/0
**

要:如果字符串2中的某一个分割的字符串在字符串1中就返回1,否则返回0
**
**
当前版本:1.0
**
**

者:liuh
**
完成日期:2013年1月29日
**

注:
****************************************************/
var_element
varchar2(4000);
var_element2
varchar2(4000);
var_tmp
varchar2(4000);
var_tmp2
varchar2(4000);
begin
result
:=
'0';
var_tmp
:=
var_sales;
var_tmp2
:=
var_first_sales;
if
var_tmp2
is
null
or
var_tmp2
=''
then
return(result);
elsif
var_tmp
is
null
or
var_tmp
=''
then
return(result);
else
/*如果字符串1不为空,在后面加上一个特殊的字符,
这样循环时就可以直接在循环内部处理,不然需要在最外面循环出再一次处理var_tmp,因为最后一次var_tmp中不含有分隔符,不会进行loop循环*/
var_tmp
:=
var_tmp
||
var_split
||
'-1';
end
if;
while
instr(var_tmp,
var_split)
>
0
loop
/****循环字符串1,每次获得一个var_element****/
var_element
:=
substr(var_tmp,
1,
instr(var_tmp,
var_split)
-
1);
var_tmp
:=
substr(var_tmp,
instr(var_tmp,
var_split)
+
length(var_split),
length(var_tmp));
while
instr(var_tmp2,
var_split)
>
0
loop
/****循环字符串2,每次获得一个var_element2****/
var_element2
:=
substr(var_tmp2,
1,
instr(var_tmp2,
var_split)
-
1);
var_tmp2
:=
substr(var_tmp2,
instr(var_tmp2,
var_split)
+
length(var_split),
length(var_tmp2));
/*如果字符串1中有字符串2中的一个值,返回1*/
if
var_element
=
var_element2
then
result
:=
'1';
return(result);
end
if;
end
loop;
/*最后一个截取的var_tmp2
不会进入循环
所以在此处处理
如果字符串1中含有字符串2的一个值,返回1*/
if
var_element
=
var_tmp2
then
result
:=
'1';
return(result);
end
if;
end
loop;
return(result);
end
f_intellect_first_sales_prov;

㈦ sql中怎么把字符串根据逗号拆分

IF(OBJECT_ID('TA') IS NOT NULL) DROP TABLE TA
CREATE TABLE TA(id INT,[value] VARCHAR(100), class VARCHAR(10))
INSERT INTO TA(id,[value],class)
SELECT 1,'3,2,4,5','no' UNION ALL
SELECT 2,'5,1,1+2','yes'
--查询结果
SELECT T.id
,SUBSTRING(T.[value],R.number,CHARINDEX(',',T.[value]+',',R.number)-R.number) AS value
,T.class
,ROW_NUMBER() OVER (PARTITION BY T.id ORDER BY T.id) AS code
FROM TA AS T
JOIN (
SELECT TOP 10 number FROM [master].dbo.spt_values
WHERE [type]='P' ORDER BY number)AS R ON (CHARINDEX(',',','+T.[value],R.number)=R.number)

㈧ SQL拆分逗号分隔的字符串

1、首先点击新建查询按钮,新建一个查询。

热点内容
pid算法调速 发布:2025-02-13 21:20:31 浏览:686
脚本中new 发布:2025-02-13 21:00:11 浏览:741
什么配置的笔记本电脑能玩神武 发布:2025-02-13 20:54:40 浏览:178
挑选云服务器需要注意什么 发布:2025-02-13 20:53:31 浏览:98
加密滴胶卡 发布:2025-02-13 20:30:48 浏览:275
javalogin 发布:2025-02-13 20:25:48 浏览:427
智联招聘无法上传照片 发布:2025-02-13 20:16:03 浏览:529
python元素替换list 发布:2025-02-13 20:03:48 浏览:773
windows系统账户名和密码是多少 发布:2025-02-13 20:03:02 浏览:531
我的世界带有商店服务器好吗 发布:2025-02-13 20:02:50 浏览:616