oracle sql 分割某個欄位中用逗號隔開的資料為行
select regexp_substr(q.nums, '[^,]+', 1, rownum,'i'), names
from (select '1,2,3' nums, '張三' names from dual) q
connect by rownum <= LENGTH(q.nums) - LENGTH(REGEXP_REPLACE(q.nums, ',', '')) + 1;
分割字串中所有的逗號,然後成多行
引數說明,
引數1: 待分割字串
引數2:正則表示式
引數3:起始位置,從第幾個字元開始正則表示式匹配(預設為1)
引數4:標識第幾個匹配組,預設為1
引數5:模式('i'不區分大小寫進行檢索;'c'區分大小寫進行檢索。預設為'c'。)
相關推薦
oracle sql 分割某個欄位中用逗號隔開的資料為行
select regexp_substr(q.nums, '[^,]+', 1, rownum,'i'), names from (select '1,2,3' nums, '張三' names f
【Oracle】oracle sql 按某個欄位分組然後從每組取出最大的一條紀錄
oracle sql(按某個欄位分組然後從每組取出最大的一條紀錄)? 比如表 mo_partprg 欄位有:listid recid 1 1 1 2 2 3 2 4 2
oracle 資料庫中某個欄位逗號分隔,得到對應列中的個數(列轉行)實現方法
由於各種原因,資料的原則問題,導致某個欄位上出現多個數據(依據分隔符隔開),比如 name 欄位為 張三;李四;王五等等 需求:求一張表中name欄位中出現的個數; 想要得到的結果為: 對
(ORACLE)sql判斷一個欄位是否全數字 或含有中文及統計某個欄位中中文的個數
一、判斷一個欄位是否全數字 或含有中文update (select length(t.name), t.* -- name,length(name) from g_enterprise_info t where nvl2(tran
批量修改sql中某個欄位中的特定資訊
1.update 表名 set 欄位名=REPLACE(欄位名,'原內容','新內容') 此種寫法,會更新表中的所有資料的指定欄位,即使不含原內容,也會更新 例:將admin表中user中的所有123變為aaa update admin set user=REPLACE
oracle如何去除某個欄位中的空格?
1. trim(字串):刪除字串兩邊的空格; 2. ltrim(字串):刪除字串左邊的空格; 3. rtrim(字串):刪除字串右邊的空格; 4. trim('字串1' from '字串2') :分別從字串2的兩邊開始,刪除指定的字元1; 5. trim([leading |
oracle,查詢某個欄位中,某字元出現的次數
SELECT LENGTHB(TRANSLATE('1,2,34,5',',12345',',')) FROM DUAL;SELECT LENGTHB('1,2,34,5')-LENGTHB(REPL
oracle如何去除某個欄位中兩邊的空格?
轉自:http://www.jb51.net/article/53576.htm 實際例子如下: update SYS_DICTIONARY_BAK set display_name = trim(display_name) where table_name='T_GUA
Python3.5+SQL+Prometheus+Grafana報表/監控 pymysql 單獨獲取表的欄位名稱 pymysql返回資料為字典形式(key:value--列:值)
參考資料: pymysql 單獨獲取表的欄位名稱 pymysql返回資料為字典形式(key:value--列:值) #coding=utf-8 import sys import pymysql import os from prometheus_cl
mysql 欄位以逗號隔開查詢包含的的問題
解決的問題看截圖,這個表裡面的rid是逗號隔開的,需要查詢rid的任何一個值在 (1,2,3)內 測試資料 CREATE TABLE `test` ( `rid` varchar(1024) DEFAULT NULL, `id` int(10) unsigne
MySQL 模糊查詢某欄位用逗號隔開
1. 查詢pnum欄位中包含3或者9的記錄 SELECT * FROM test WHERE find_in_set('3',pnum) OR find_in_set('9',pnum); SELECT * FROM test WHERE CONCAT(',',pnum,'
Oracle資料庫將各個欄位的空值改為0
表資料有空值的情況,一般希望把數值型別的欄位直接賦值為0而不是空值,這裡使用儲存過程實現。 首先建立表testnull結構如下: SQL> describe testnull; Name Type Nullable Default
SQL篇·Oracle欄位根據逗號等分割
一、業務場景介紹 有一個表字段儲存了另一個表的關聯欄位,以“|”符號分割,如下所示: 連線查詢中當然可以使用like來關聯,但是效率很差。高效的做法應該是將該欄位按照“|”字元分割,然後關聯查詢
SQL 中拆分由逗號分割的欄位為多個欄位
測試準備建立表並填充資料USE [zws]GO/****** Object: Table [dbo].[a] Script Date: 2018/5/3 16:28:28 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER
oracle sql通過判斷條件更新資料庫某個欄位的值內容
在工作中,出現了一個簡單的問題,就是按照一定的規律將oracle資料庫裡面的欄位值進行處理和更新,現寫了以下程式碼進行實現,特此記錄下來,以備後用: update t_cure_plan a set (inject) = ( select case when inject=
Oracle欄位根據逗號分割查詢資料
需求是表裡的某個欄位儲存的值是以逗號分隔開來的,要求根據分隔的每一個值都能查出來資料,但是不能使用like查詢。 資料是這樣的: 查詢的sql如下: select * from ( select guid, regexp_substr(st_responsible, '[^,]+', 1, lev
SQL 語句 將一個表中用特殊字元分割的欄位轉換成多行資料
在開始寫之前需要先說下這兩個函式的用法, SubString(str,pos,len): 從pos位置擷取字串STR,len個字元 CHARINDEX ( expression1 ,expression2, [ start_location ] ) :expression
SQL分組且取每組某個欄位最大或最小值
有個表gz: 要按sku分組,同時取每個sku的stock最大的那條 SQL語句: SELECT * FROM (SELECT * FROM gz ORDER BY stock DESC ) a GROUP BY sku 結果: 如果要最小的
資料庫中某個表中的某個欄位的值是用逗號隔開的多個值,根據逗號拆分並從另一個表中查出資料返回
有兩個表A,B,表結構如下: A表 B表 關聯關係說明如下: (1)A.hospital_catalog=B.id (2)A表中hospital_catalog欄位的值是以 逗號 “,” 隔開,且兩邊用中括號“[ ]”包起,
要求:如果某個欄位=1就立刻顯示,否則10分鐘以後顯示,-----sql語句
select a.* FROM ( SELECT *,DATE_ADD(create_date, INTERVAL 10 MINUTE)<SYSDATE() isDelay FROM `car_teams_ord` ) a where IF(iss_price=1||iss_price=