A. oracle中 sql截取某個字元前面和後面的值
創建測試表及數據
createtabletest
(namevarchar2(10));
insertintotestvalues('2-15');
insertintotestvalues('2-33');
insertintotestvalues('2-3');
insertintotestvalues('12-8');
insertintotestvalues('純桐12-22');
insert燃褲春intotestvalues('12-3');
執行
select皮耐name,substr(name,1,instr(name,'-')-1)前,substr(name,instr(name,'-')+1,length(name)-instr(name,'-'))後fromtest
截圖
B. SQL 查詢的時候截取欄位在逗號前的部分
可以使用substring_index(column, ',', 2)方法來實現。
具體SQL語句為:
select id,name,substring_index(address, ',', 2) from people;
substring_index(address, ',', 2)的意思是截取第二個 ',' 之前的所有字元。
(2)資料庫如何取符前的值擴展閱讀
sql中substring()的相關用法介紹:
1、SUBSTRING(name,3) 截取name這個欄位 從第三個字元開始,之後的所有個字元
SELECT SUBSTRING('1234567',3)
結果:34567
2、SUBSTRING(name, -4) 截取name這個欄位的第 4 個字元位置(倒數)開始取,直到結束
SELECT SUBSTRING('1234567',-4)
結果:4567
3、SUBSTRING(name, -4,2) 截取name這個欄位的第 4 個字元位置(倒數)開始取,只截取之後的2個字元
SELECT SUBSTRING('1234567',-4,2)
結果:45
4、substring_index('www..com', '.', 2) 截取第二個 '.' 之前的所有字元
SELECT substring_index('www..com', '.', 2)
C. access資料庫如何對一個欄位內容某個字元之前的內容進行提取
select原欄位,left(原欄位衡拆,氏羨instr(原欄位,'字元殲攔拍'))from表
D. SQL如果提取某些符號中的數值
如果字元是固歲歲禪定的,比如乎塵*,可以考慮使用f_split函數雀畝來分隔處理再處理。
比如:SELECT * FROM dbo.f_split('31.5*1.25*18','*')
結果:
col
--------------------------------------------------
31.5
1.25
18