oracle按照分隔符拆分行 Oracle逗號(hào)分隔列轉(zhuǎn)行實(shí)現(xiàn)方法?
Oracle逗號(hào)分隔列轉(zhuǎn)行實(shí)現(xiàn)方法?在執(zhí)行系統(tǒng)時(shí),我們經(jīng)常會(huì)遇到多個(gè)信息存儲(chǔ)在由逗號(hào)或其他符號(hào)分隔的字段中。例如,保存用戶的一對(duì)多權(quán)限時(shí),權(quán)限組字段中會(huì)保存多個(gè)權(quán)限號(hào),用逗號(hào)分隔。現(xiàn)在,如果您提供一個(gè)
Oracle逗號(hào)分隔列轉(zhuǎn)行實(shí)現(xiàn)方法?
在執(zhí)行系統(tǒng)時(shí),我們經(jīng)常會(huì)遇到多個(gè)信息存儲(chǔ)在由逗號(hào)或其他符號(hào)分隔的字段中。例如,保存用戶的一對(duì)多權(quán)限時(shí),權(quán)限組字段中會(huì)保存多個(gè)權(quán)限號(hào),用逗號(hào)分隔。
現(xiàn)在,如果您提供一個(gè)權(quán)限號(hào)并希望檢索所用權(quán)限的用戶集,則需要在多個(gè)由逗號(hào)分隔的權(quán)限號(hào)中匹配給定的權(quán)限號(hào)。如果你用like來做,它將是低效和不準(zhǔn)確的。因此,我們使用逗號(hào)分隔列。目前,這種方法只適用于Oracle數(shù)據(jù)庫(kù)。這種方法只需要SQL語(yǔ)句就可以實(shí)現(xiàn)列到行的轉(zhuǎn)換。
oracle sql實(shí)現(xiàn)查詢時(shí)把一字符串按逗號(hào)分割,返回分割后的份數(shù)?
在Oracle中,您可以使用connect by來劃分所有字符串:例如,定義字符串:PVuNouList:=“23,34,45,56”選擇不同的REGEXPuSubstr(PVuNouList,”[^,]“,1,LEVEL)作為DUALCONNECT by REGEXPuSubstr(PVuNouList,”[^,]“,1,level)不是nullorder by 1返回結(jié)果:token 23344556
1臨時(shí)表2拆分字符串3按逗號(hào)順序放入臨時(shí)表,不懂PLSQL,所以只能提供思路。如果你懂XML,最好先把戴都好的字符串轉(zhuǎn)換成XML,然后再轉(zhuǎn)換成表格
從表格中選擇sum(column),sum(decode(column,null,1,0))
給出一個(gè)想法:a number=原始字符串的長(zhǎng)度-刪除后字符串的長(zhǎng)度a number=length(string)-length(replace(string“a”,“)
使用power Query]數(shù)據(jù)選項(xiàng)卡-從表]和列中選擇數(shù)據(jù),然后選擇列以反轉(zhuǎn)其他列