當前位置:首頁 » 編程語言 » 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));