最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL?將一列拆分成多列的實(shí)現(xiàn)示例

 更新時(shí)間:2023年10月27日 09:03:14   作者:追夢(mèng)的青鳥  
在SQL中,有時(shí)需要將一列數(shù)據(jù)按照特定的符號(hào)進(jìn)行分割,分成多個(gè)列,本文就來介紹一下SQL?將一列拆分成多列的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下

數(shù)據(jù)庫(kù)中有業(yè)務(wù)表t1和字典表dictionary

t1表:

       

dictionary表:                

需求一:將col列拆分成三列

SQL 代碼如下所示:

方法一:

SELECT col,a[1] a1,a[2] a2,a[3] a3
FROM
	( 
		SELECT regexp_split_to_array( col, ',' ), col FROM t1 
	) AS dt (a)

效果:

方法二:

SELECT
	col,
	SPLIT_PART( col, ',', 1 ) a1,
	SPLIT_PART( col, ',', 2 ) a2,
	SPLIT_PART( col, ',', 3 ) a3 
FROM
	t1

效果:

假設(shè)想把 "col" 列分成 "col1" 、 "col2"、 "col3",SQL語句:

1、先添加新的列

ALTER TABLE t1 ADD COLUMN col1 VARCHAR(30);
ALTER TABLE t1 ADD COLUMN col2 VARCHAR(30);
ALTER TABLE t1 ADD COLUMN col3 VARCHAR(30);

2、再用 SPLIT_PART 函數(shù)填充新的列

UPDATE t1 
SET col1 = SPLIT_PART( col, ',', 1 ),
col2 = SPLIT_PART( col, ',', 2 ),
col3 = SPLIT_PART( col, ',', 3 );

效果:

需求二:列col保存的數(shù)據(jù),是字典表dictionary中id值拼接的字符串,想關(guān)聯(lián)出對(duì)應(yīng) 的name值。

SQL 代碼如下所示:

SELECT col,
	(SELECT name from dictionary WHERE id=a[1]) a1,
	(SELECT name from dictionary WHERE id=a[2]) a2,
	(SELECT name from dictionary WHERE id=a[3]) a3
FROM
	( 
		SELECT regexp_split_to_array( col, ',' ), col FROM t1 
	) AS dt (a)

效果:

需求三:列col轉(zhuǎn)化為字典表dictionary中name拼接的字符串

SQL 代碼如下所示:

SELECT col,CONCAT_WS(',',a1,a2,a3) as names
FROM
	( 
		SELECT col,
			(SELECT name from dictionary WHERE id=a[1]) a1,
			(SELECT name from dictionary WHERE id=a[2]) a2,
			(SELECT name from dictionary WHERE id=a[3]) a3
		FROM
			( 
				SELECT regexp_split_to_array( col, ',' ), col FROM t1 
			) AS dt (a)
	) as temp

效果:

總結(jié) :

我們可能會(huì)遇到按分隔符拆成多行或者多列的情況,以及復(fù)制的業(yè)務(wù)需求,只需視情況調(diào)整sql語句,或者編寫存儲(chǔ)過程。

對(duì)于列col的值,按分隔符拆分為多列數(shù)據(jù)時(shí),不知道需要拆分成幾列,可以先用以下sql查詢出列數(shù)。

SELECT max(array_length(regexp_split_to_array(col,','),1))

到此這篇關(guān)于SQL 將一列拆分成多列的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)SQL 一列拆分成多列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • SQL注入神器SQLMap參數(shù)詳解

    SQL注入神器SQLMap參數(shù)詳解

    SQLMap是一款開源的SQL注入檢測(cè)與滲透測(cè)試工具,具有自動(dòng)化檢測(cè)、支持多種數(shù)據(jù)庫(kù)、綜合測(cè)試、漏洞利用、批量掃描、細(xì)粒度控制及報(bào)告生成等功能,本文就來詳細(xì)的介紹一下SQL注入神器SQLMap參數(shù)詳解,感興趣的可以了解一下
    2024-09-09
  • 最常用的SQL語句

    最常用的SQL語句

    最常用的SQL語句,大家可以看下,都是在開發(fā)過程中,比較常用的語句。
    2009-10-10
  • 多表關(guān)聯(lián)同時(shí)更新多條不同的記錄方法分享

    多表關(guān)聯(lián)同時(shí)更新多條不同的記錄方法分享

    因?yàn)轫?xiàng)目要求實(shí)現(xiàn)一次性同時(shí)更新多條不同的記錄的需求,和同事討論了一個(gè)比較不錯(cuò)的方案,這里供大家參考下
    2011-10-10
  • 隱藏在SQLServer 字段中的超詭異字符解決過程

    隱藏在SQLServer 字段中的超詭異字符解決過程

    這套系統(tǒng)做了大半年,這個(gè)導(dǎo)入導(dǎo)出還是問題不斷,我負(fù)責(zé)的這塊導(dǎo)入導(dǎo)出就是夾在網(wǎng)絡(luò)版和單機(jī)版系統(tǒng)之間,只要任何一邊對(duì)數(shù)據(jù)庫(kù)做了改動(dòng)這個(gè)導(dǎo)入導(dǎo)出就會(huì)失敗。哎,煩心的事不止這些,最近又遇到了一個(gè)非常奇怪的問題。
    2009-10-10
  • case 嵌套查詢與連接查詢你需要懂得

    case 嵌套查詢與連接查詢你需要懂得

    Case 子查詢連接查詢?cè)趕ql開發(fā)中很常用的一個(gè)查詢功能,感興趣的你可不要錯(cuò)過本文,接下來為你詳細(xì)介紹下
    2013-02-02
  • 在SQLServer上查看SQL語句的執(zhí)行時(shí)間的方法

    在SQLServer上查看SQL語句的執(zhí)行時(shí)間的方法

    查看SQL語句在SQL Server上的執(zhí)行時(shí)間,方便大家監(jiān)控語句的性能。寫出更好的代碼。
    2010-06-06
  • 編程經(jīng)驗(yàn)點(diǎn)滴 動(dòng)態(tài)SQL的拼接技巧

    編程經(jīng)驗(yàn)點(diǎn)滴 動(dòng)態(tài)SQL的拼接技巧

    眾多人在回復(fù),其中至少有三位老兄,誤解了動(dòng)態(tài) SQL 的拼接。特寫此文,闡述一下其中的技巧。希望能糾正初學(xué)者的錯(cuò)誤
    2012-09-09
  • 解析SQLServer2005的Top功能

    解析SQLServer2005的Top功能

    本篇文章是對(duì)SQLServer2005的Top功能進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • sqlserver 增刪改查一些不常用的小技巧

    sqlserver 增刪改查一些不常用的小技巧

    這篇文章主要介紹了sqlserver 增刪改查一些不常用的小技巧,需要的朋友可以參考下
    2014-10-10
  • sql索引失效的情況以及超詳細(xì)解決方法

    sql索引失效的情況以及超詳細(xì)解決方法

    眾所周知索引并不是時(shí)時(shí)都會(huì)生效的,下面這篇文章主要給大家介紹了關(guān)于sql索引失效的情況以及超詳細(xì)解決方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11

最新評(píng)論

阳朔县| 禄劝| 师宗县| 兴和县| 六枝特区| 吕梁市| 怀安县| 合水县| 日土县| 尼勒克县| 曲阜市| 乡城县| 玉树县| 乌苏市| 隆回县| 郴州市| 东乌珠穆沁旗| 福州市| 仁布县| 轮台县| 合山市| 义乌市| 夹江县| 东至县| 剑阁县| 门头沟区| 陇川县| 大连市| 北流市| 开平市| 三原县| 建昌县| 南岸区| 彭水| 郯城县| 隆林| 潮安县| 石柱| 尤溪县| 莱西市| 彰化县|