Orcale中對字串操作trim,length,instr,subtsr,distinct,||
阿新 • • 發佈:2021-02-05
1.trim(),orcale中去除字串兩邊的空格,
去除字串兩邊的所有空格
select ' hel lo ' from dual; --- hel lo
select trim(' hel lo ') from dual; ---hel lo
2.length(),orcale統計某個欄位的字串長度,
select jxqhm,length(jxqhm) from gd_gj_yjgjxx where czsj >= trunc(sysdate) -3;
3.instr(),orcale中查詢欄位中某個字元是否存在以及存在的位置
查詢某個字元在欄位中的位置
格式一:instr( string1, string2 ) // instr(源字串, 目標字串)
查詢String1字串中,string2第一次出現的位置,沒有查詢到結果返回0
格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] ) // instr(源字串, 目標字串, 起始位置, 匹配序號)
查詢string1字串中,從第start_position 個字元開始查詢string2 第nth_appearance 次出現的位置
select jxqhm,instr(jxqhm, 'C', 1, 1) from gd_gj_yjgjxx
select jxqhm,instr(jxqhm, 'C', 1, 2) from gd_gj_yjgjxx
4.subtsr,orcale擷取指定欄位
格式: substr(string string, int a, int b);
1、string 需要擷取的字串
2、a 擷取字串的開始位置(注:當a等於0或1時,都是從第一位開始擷取)
3、b 要擷取的字串的長度
substr(zbtm, 7, 2) 擷取zbtm欄位第7-9位
擷取'姓名:張三,性別:男'
字串中的姓名和性別
結合substr函式和instr函式進行擷取
select substr('姓名:張三,性別:男',
instr('姓名:張三,性別:男', ':', 1, 1) + 1,
instr('姓名:張三,性別:男', ',', 1, 1) -
instr('姓名:張三,性別:男', ':', 1, 1) - 1),
substr('姓名:張三,性別:男',
instr('姓名:張三,性別:男', ':', 1, 2) + 1,
1)
from dual;
擷取表中某個欄位
select jxqhm,
substr(jxqhm,
instr(jxqhm, 'C', 1, 1) + 1,
instr(jxqhm, 'A', 1, 1) - instr(jxqhm, 'C', 1, 1) - 1)
from gd_gj_yjgjxx
where czsj >= trunc(sysdate) - 3;
----CNCGOADEFRAAAUN10050010100076
----NCGO
5.||,orcale連線字串
select ('00' || czmc || '00') from gd_gj_yjgjxx;
6.distinct去重
distinct 只能用在查詢的第一個欄位中
select distinct username,password from user
select distinct id,username,password from user