⑴ mysql中怎麼拆分以逗號隔開的字元串
拆分以逗號隔開的字元串,這是高級語言來處理的吧,資料庫主要是存儲數據的,比如php就可以這樣實現:
$string = '1,2,3,4,5';
$array = explode(',',$string);
之後就得出一個數組,$array(1,2,3,4,5);
⑵ 資料庫中某一列的值用逗號分隔,在顯示時如何引用其他表的數據
資料庫是什麼資料庫?
SQL Server 2005 以上版本的話, 倒是沒有問題的...
直接一條語句就可以處理了。
--測試表和測試數據。
CREATETABLE#A(
IdINT,
Valuevarchar(6)
);
GO
INSERTINTO#AVALUES(1,'2');
INSERTINTO#AVALUES(2,'4');
INSERTINTO#AVALUES(3,'51');
INSERTINTO#AVALUES(4,'2');
INSERTINTO#AVALUES(5,'20');
GO
CREATETABLE#B(
IdINT,
ValueVARCHAR(10)
);
GO
INSERTINTO#BVALUES(1,'1');
INSERTINTO#BVALUES(2,'2,3');
INSERTINTO#BVALUES(3,'4,5');
INSERTINTO#BVALUES(4,'1,2,3');
GO--一條查詢的sql語句。
SELECT
id,
cast(
STUFF(
(
SELECT
','+a.value
FROM
#aa
WHERE
CHARINDEX(','+RTRIM(cast(a.idaschar))+',',','+b.Value+',')>0
FORXMLPATH('')
),1,1,'')
asvarchar(10)) ASValue
FROM
#bb;
GO
--查詢的結果如下:
idValue
---------------------
12
24,51
32,20
42,4,51
(4行受影響)
⑶ mysql列轉行(逗號分隔)
mysql查詢含逗號的數據,將逗號拆分為多行展示:
原始數據如下:
現在因為新的需求,需要將這些數據轉化為如下形式:
假設我們需要處理的表結構為:
使用如下sql語句即可實現需求:
查詢的主要思路為,原表與一個包含連續自增長欄位的表進行join,得到字元串分隔後的索引值,其中 length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1 語句獲得字元串逗號分隔之後得到的數據長度,兩表關聯之後,會得到相應行數的數據。比如,
在join之後會得到:
之後對查詢中的結果,使用substring_index方法進行截取,然後得到我們自己想要的數據。
⑷ 導出到CSV文件,CSV文件好像是以逗號為分隔符的吧如果資料庫欄位里含有逗號怎麼處理比如說下面這個字
一、是的。
二、更改分隔符的步驟:
通過打開文本文件來導入文本文件:可以使用「打開」命令將在其他程序中創建的文本文件轉換為 Excel 工作簿。
1、單擊「Microsoft Office 按鈕」,然後單擊「打開」。將顯示「打開」對話框。
2、在「文件類型」框中,選擇「文本文件」。
3、在「查找范圍」列表中,找到並雙擊要打開的文本文件:
(1)如果文件為文本文件 (.txt),則 Excel 將啟動「文本導入向導」。按照「文本導入向導」中的說明進行操作。單擊「幫助」以獲得有關使用「文本導入向導」的詳細信息,或者參閱文本導入向導。完成向導中的操作步驟後,請單擊「完成」。
(2)如果文件為 .csv 文件,則 Excel 將自動轉換該文本文件並將其打開。
(3)註:當 Excel 打開 .csv 文件後,它將使用當前默認數據格式設置來解釋如何導入每個數據列。您可能希望能夠使用「文本導入向導」更靈活地將列轉換為不同的數據格式。例如,.csv 文件中數據列的數據格式可能是 MDY,而 Excel 的默認數據格式為 YMD,或者希望將帶有前導零的數字列轉換為文本,以便可以保留前導零。要使用「文本導入向導」,可以在打開文件前將文件的類型更改為 .txt,或者通過連接到文本文件來導入文本文件。
⑸ MYSQL列中的數據以逗號隔開,如何查詢
MYSQL列中的數據查詢命令:
SELECT *
FROMtask_detatils
WHERE FIND_IN_SET( 『1』, responsible_user)
命令的含義:將含有1的responsible_user列數據全部搜索出來。
採用的是find函數:查找一定范圍內元素的個數。查找[first,last)范圍內,與toval等價的第一個元素,返回一個迭代器。如果沒有這個元素,將返回last。
(5)資料庫逗號分隔擴展閱讀:
其他的查詢命令:
在命令後鍵入搜索的模式,再鍵入要搜索的文件。其中,文件名列表中也可以使用特殊字元,如「*」等,用來生成文件名列表。
如果想在搜索的模式中包含有空格的字元串,可以用單引號把要搜索的模式括起來,用來表明搜索的模式是由包含空格的字元串組成。
否則,Shell將把空格認為是命令行參數的定界符,而grep命令將把搜索模式中的單詞解釋為文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式「text file」。
用戶可以在命令行上用Shell特殊字元來生成將要搜索的文件名列表。在下面的例子中,特殊字元「*」用來生成一個文件名列表,該列表包含當前目錄下所有的文件。該命令將搜索出當前目錄下所有文件中與模式匹配的行。
⑹ 資料庫存儲值 是逗號隔開好 還是建個字表 還是json
如果用逗號隔開,你從資料庫中取出來之後,還需要重新切割使用
json沒使用過
建議每個值建一個欄位,分開存儲較好。
⑺ 在資料庫中如何分割欄位中的逗號
這要看你的資料庫語法中是否有split或類似的切分函數了,如果資料庫不支持此函數,再看你的前台編程語言中是否有此函數,如果前台語言也不支持此函數,那麼就自己寫一個這樣的切分函數,自產自銷
⑻ Asp讀取一個資料庫中,一個欄位裡面逗號分隔開的值
<ul>
<%
mystr="關1,關2,關3"'這里你就讀取你的欄位值就行了。
mystr=split(mystr,",")
fori=0toubound(mystr)
response.write"<li>"&mystr(i)&"</li>"
next
%>
</ul>
⑼ 在sql server資料庫中查詢一個用逗號分隔的欄位的問題
你說的是選出含有任意一個選中的欄位的值,那隻要欄位1的內容不是空或者null就行了啊。如果是待條件查詢的話,只要加上你的條件就好了啊.
declare @a char(10)
set @a = 'a' --任意你想要的查詢的值
select * from 表 where 欄位1 like '%' + @a + '%'
結果就是根據你給出的條件,檢索出所有符合你條件的記錄。
⑽ 資料庫中,如何用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));