当前位置:首页 » 编程语言 » sql字段内容用逗号分隔
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql字段内容用逗号分隔

发布时间: 2023-08-19 12:39:19

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查询用逗号分隔的数据

不同的商品使用逗号分隔保存,现在要求输入指定的商品名称,能够查询到包含该商品的列。

创建数据表

添加数据

<blockquote>这个方法中,我把分隔符逗号定义成了变量,因为直接拼接进sql中看起来不美观,如果为了简洁可以不使用变量</blockquote>

Ⅲ sql 如何以逗号为分隔符分割一个字段的值

可用substring函数。

创建测试表及数据:

createtabletest
(idvarchar(10));

insertintotestvalues('123abc');
insertintotestvalues('456def');
insertintotestvalues('789ghi');

执行:

selectsubstring(id,1,3)+','+substring(id,4,3)asidfromtest

结果截图:

也就显示成了用逗号分隔的样子。

Ⅳ sql查询以逗号分隔的字段

这样写:
where AA like '2,%' or AA like '%,2' or AA like '%,2,%'

数据库中,如何用SQL语句实现将某字段下的所有记录合成一条记录,用逗号隔开

DECLARE@tempVARCHAR(MAX);
SET@temp='';
SELECT@temp=@temp+','+某字段FROM表;

SELECTSTUFF(@temp,1,1,SPACE(0));

SELECT','+某字段FROM表FORXMLPATH('');

SELECTSTUFF((SELECT','+某字段FROM表FORXMLPATH('')),1,1,SPACE(0));