odps sql 字元處理函式

2021-10-01 10:30:47 字數 4505 閱讀 1419

字串處理函式

concat_ws

wm_concat

刪除指定字元

型別轉換涉及隱式轉化和顯示轉化

用途:

計算乙個子串在字串中的位置.

示例:

select instr ('tech on the net', 'e') 

> 2

select instr ('tech on the net', 'e', 1, 1)

> 2

select instr ('tech on the net', 'e', 1, 2)

>11

select instr ('tech on the net', 'e', 1, 3)

>14

擷取字串中某個特定字元後的內容

abcd_123 擷取』_'後的數字

select substr('abcd_123',instr('abcd_123','_') + 1);

>123

擷取 3_1.1.0_1 中的各部分

select substr ('3_1.1.0_1',1,instr('3_1.1.0_1','_',1,1)-1);

>3

select substr ('3_1.1.0_1',1,instr('3_1.1.0_1','_',1,2)-1);

>1.1.0

select substr('3_1.1.0_1',instr('3_1.1.0_1','_',1,2) + 1);

>1

split_part(string, separator, start[, end])

同樣是擷取 3_1.1.0_1 各部分,用split_part更方便

select split_part('3_1.1.0_1','_',1)

>3

select split_part('3_1.1.0_1','_',2)

>1.1.0

select split_part('3_1.1.0_1','_',3)

>1

select replace('bby_10001','bby_','ww')--->ww_10001

select replace(a.score,"a_","b_") as delar_phone from score2 as a

select replace('bby_10001','bby_','')--->10001

select replace(a.score,' ','') as delar_phone from score2 as a-- 刪除空格

引數說明:

● a,b等為string型別,若輸入為bigint, double, datetime型別會隱式轉換為string後參與運算,其它型別報異常。

返回值:

string

在原有字串後增加字串

concat('原字串','','要增加的字串')

select concat('bby_10001','','s'); ---->bby_10001s

對一列進行修改時:

select concat(列名,'','要增加的字串') from 表名;

在作連線時 a.id=concat(表名.列名,'','要增加的字串');

對原表進行更新時update table_name set 列名=concat('原字串','','要增加的字串');

在原有字串前增加字串
concat('要增加的字串','原字串')

select concat('s','bby_10001');--------------------->sbby_10001

對一列進行修改時:

select concat('要增加的字串',列名) from 表名;

在作連線時 a.id=concatt('要增加的字串',列名);

對原表進行更新時update table_name set 列名=concat('要增加的字串',列名);

在原有字串前後加,
concat(',','原有字串',',')

select concat(',','bby_10001',','); ---->,bby_10001s,

對一列進行修改時:

select concat(',','原有字串',',') from 表名;

在作連線時 a.id=concatt(',','原有字串',',');

對原表進行更新時update table_name set 列名=concatt(',','原有字串',',');

select trim(both ',' from ' ,bar, '); -----------> ',bar,' -- 這樣是不成功的,想想為什麼

select trim(both ',' from trim(both ' ' from ' ,bar, ')); ---------->'bar'

select trim(trailing ',' from a.score) from score2 as a

刪除空格

ltrim(str) -- 去除左空格

select ltrim(' barbar'); -----------> 'barbar'

select ltrim(a.score) from score2 as a

rtrim(str) -- mysql中的去除右空格 

select rtrim('barbar ');-------------- -> 'barbar'

select rtrim(a.score) from score2 as a

select trim(' bar ');------------------> 'bar' 

select ltrim(rtrim(a.score))

select trim(both ' ' from a.score) from score2 as a

參考資料:

odps sql 日期函式處理

日期轉化為時間戳 select unix timestamp 2020 04 01 20 20 20 1585743620 select unix timestamp 2020 04 01 00 00 00 1585670400 select unix timestamp to date 20200...

MSSQL處理字元函式

字串處理 一.大小寫處理 lower 將字串全部轉為小寫 upper 將字串全部轉為大寫。二.字元轉換 str 把數值型資料轉換為字元型資料。str length length 指定返回的字串的長度,decimal 指定返回的小數字數。如果沒有指定長度,預設的length 值為10,decimal ...

php 字元處理函式

addslashes 字串加入斜線。bin2hex 二進位轉成十六進製。chop 去除連續空白。chr 返回序數值的字元。chunk split 將字串分成小段。convert cyr string 轉換古斯拉夫字串成其它字串。crypt 將字串用 des 編碼加密。echo 輸出字串。explod...