oracle sql去掉漢字保留數字或字母
首先講一下oracle translate的用法:
一、語法
TRANSLATE(string,from_str,to_str)
二、用途
返回將(所有出現的)from_str中的每個字元替換為to_str中的相應字元以後的string。TRANSLATE是REPLACE所提供的功能的一個超集。如果from_str比 to_str長,那麼在 from_str中而不在to_str中的額外字元將從string中被刪除,因為它們沒有相應的替換字元。to_str不能為空。Oracle將空字串解釋為NULL,並且如果TRANSLATE中的任何引數為NULL,那麼結果也是NULL。
三、transate使用示例
dw@dw>column col1 format a10
dw@dw>column col2 format a10
dw@dw>select translate('helloword',
2 'abcdefghijklmnopqrstuvwxyz',
3 'zyxwvutsrqponmlkjihgfedcba') col1,
4 translate('hbcadhlk',
5 'abcdefghijklmnopqrstuvwxyz',
6 '123456') col2
7 from dual;
COL1 COL2
---------- ----------
svooldliw 2314
已選擇 1 行。
已用時間: 00: 00: 00.01
我們在實際工作中,經常用到的去掉漢字保留數字或字母,也有可能是去掉數字或字母,保留漢字。
本文將用oracle sql tranlsate函式實現去掉漢字、保留數字;去掉數字和母、保留漢字,本文所用到sql如下:
create table oracle_extract_number (
id number,
name varchar2(50)
);
insert into oracle_extract_number(id,name) values(1,'32提取漢字中11222的333數44411字11');
insert into oracle_extract_number(id,name) values(1,'ad提取漢字中11dddfw222的3ddd33數444dd11字11');
insert into oracle_extract_number(id,name) values(1,'abd2提取漢字中11222的333數44ddd411字11');
insert into oracle_extract_number(id,name) values(1,'45提取漢233字中1ddd1222ddd的333數44411字11');
insert into oracle_extract_number(id,name) values(1,'78提取漢字中112SDD22的33ddad3數44ddfdf411字11');
commit;
1.用oracle translate去掉漢字和字母,提取數字
dw@dw>select id,name,
2 translate(name, '#' ||
3 translate(name, '0123456789', '#'), '/') "oracle extract number"
4 from oracle_extract_number;
ID NAME oracle extract number
---------- -------------------------------------------------- ------------------------------
1 32提取漢字中11222的333數44411字11 32112223334441111
2 ad提取漢字中11dddfw222的3ddd33數444dd11字11 112223334441111
3 abd2提取漢字中11222的333數44ddd411字11 2112223334441111
4 45提取漢233字中1ddd1222ddd的333數44411字11 45233112223334441111
5 78提取漢字中112SDD22的33ddad3數44ddfdf411字11 78112223334441111
已選擇5行。
已用時間: 00: 00: 00.03
2.用oracle translate去掉漢字,提取數字和字母
dw@dw>select id,name,
2 translate(name,'#'||
3 translate(name,'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789','#')
4 ,'/') "oracle extract number"
5 from oracle_extract_number;
ID NAME oracle extract number
---------- -------------------------------------------------- ------------------------------
1 32提取漢字中11222的333數44411字11 32112223334441111
2 ad提取漢字中11dddfw222的3ddd33數444dd11字11 ad11dddfw2223ddd33444dd1111
3 abd2提取漢字中11222的333數44ddd411字11 abd21122233344ddd41111
4 45提取漢233字中1ddd1222ddd的333數44411字11 452331ddd1222ddd3334441111
5 78提取漢字中112SDD22的33ddad3數44ddfdf411字11 78112SDD2233ddad344ddfdf41111
已選擇5行。
已用時間: 00: 00: 00.00
3.用oracle translate去掉數字和字母,提取漢字
dw@dw>select id,
2 name,
3 translate(name,
4 '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
5 '/') "oracle extract number"
6 from oracle_extract_number;
ID NAME oracle extract number
---------- -------------------------------------------------- ---------------------------
1 32提取漢字中11222的333數44411字11 提取漢字中的數字
2 ad提取漢字中11dddfw222的3ddd33數444dd11字11 提取漢字中的數字
3 abd2提取漢字中11222的333數44ddd411字11 提取漢字中的數字
4 45提取漢233字中1ddd1222ddd的333數44411字11 提取漢字中的數字
5 78提取漢字中112SDD22的33ddad3數44ddfdf411字11 提取漢字中的數字
已選擇5行。
已用時間: 00: 00: 00.01
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25954236/viewspace-1651047/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE SQL函式中文漢字轉拼音首字母OracleSQL函式
- c++判斷字串全是字母或數字C++字串
- 保留關鍵字 (Transact-SQL)SQL
- php 和 j s 對數字,字母,漢子等特殊字串 取反PHP字串
- 直播原始碼開發,vue漢字獲取字母首拼或拼音、大小寫原始碼Vue
- 數字格式字串轉數字保留後面0字串
- 漢字-字母-位元組-位之間的轉換
- 阿拉伯-漢字-數字轉換
- PHP 將數字轉換為漢字PHP
- mysql 中如何取得漢字欄位的各漢字首字母MySql
- Oracle中文漢字佔用位元組Oracle
- 在Excel中如何獲取漢字拼音首字母?Excel
- utils公共方法:將數字轉為漢字
- php數字去掉逗號的方法PHP
- PHP非字母數字の程式碼PHP
- isAlnum判斷字元是否為字母數字字元(字母和數字都屬於字母數字字元)字元
- 字串或數字反轉字串
- 字串-保留字母字串
- 漢字轉漢語拼音
- python3判斷給定的字串是否只包含字母、數字、中劃線或者下劃線中的一個或多個,並且以字母或數字開頭(正規表示式)Python字串
- 電腦輸入法打不出漢字只能打字母怎麼解決
- PHP 保留小數點後有效數字(四捨五入)PHP
- 關鍵字和保留字
- Python識別字母數字組合驗證碼Python
- Python判斷字串是否為字母或者數字(浮點數)Python字串
- oracle保留兩位小數Oracle
- 字母和數字交替輸出,並保證字母永遠排在前面
- C#漢字轉漢語拼音C#
- SQL 判斷欄位是否以數字開頭或者包含數字SQL
- JavaScript數字和字母組合驗證碼詳解JavaScript
- JavaScript 關鍵字和保留字JavaScript
- 關鍵字,保留字,字面量
- java 漢字轉配音Java
- 只提取漢字部分
- C:漢字儲存
- 用Python實現阿拉伯數字轉換成中國漢字Python
- java.sql.SQLException: 數字溢位JavaSQLException
- T-SQL——數字輔助表SQL
- ORACLE 表char欄位混合儲存數字和字母類似資料時按數字的where條件查詢報錯ORA-01722Oracle