with x as
(select '2320*fd少df,' sr
from dual
union all
select '¥@().' sr
from dual
union all
select 'heleo;""' sr
from dual
union all
select '年' sr
from dual
union all
select 'ds★強f' sr
from dual
union all
select '350k, 。' sr
from dual
union all
select 'a #@%&*則 df
' sr
from dual
union all
select 'dsa~!國強' sr
from dual
union all
select '龘楇覢' sr
from dual)
select sr
from (select regexp_replace(regexp_replace(sr, '\w'), '[a-za-z0-9_]') sr
from x)
where sr is not null;
之前有遇到查詢表裡某列是否含有漢字的需求。
ascii
字串)。利用漢字是雙位元組,且簡體漢字的編碼範圍是b0a1 - f7fe ,通過asciistr(col) 轉換utf-16格式 過來後,每個漢字前面帶有乙個 反斜槓 來判斷的。這樣一點都不科學。簡體漢字轉換過來帶有反斜槓,不代表轉換過來的帶有反斜槓的一定是簡體漢字。比如五角星、全形字符之類的。還有這裡一直說的是簡體漢字。遇到繁體字就gg思密達了。
還有一些人寫了很複雜的function來判斷。這個我也試過了,遇到全形和某些繁體字也是行不通。
還有的使用length()與lengthb()來判斷,也是利用漢字是雙位元組。這個更是錯的。全、半形的長度都能推翻。
select length('-') lg, --半形橫槓
lengthb('-') lg2, --全形橫槓
asciistr('國') sr, --轉換中文簡體
asciistr('f') sr2 --轉換全形字符
from dual;
一直提倡,寫出來的sql,一定是通用的。這裡我是利用正則寫了乙個很簡單的濾除。大家可以參考下,利用的是 \w:匹配字母或數字或下劃線或
漢字。目前我測試還是沒出現問題的。大家使用時遇到問題可以告訴我。
判斷陣列是否存在某個值。
檢查陣列是否包含某個值的方法 使用list public static boolean uselist string arr,string targetvalue 使用set public static boolean useset string arr,string targetvalue 使用迴...
Oracle 判斷列 表 主鍵是否存在
declare n count number 宣告變數儲存要查詢的表是否存在 begin select count 1 into n count from user tables t where t.table name upper 表名 從系統表中查詢當表是否存在 if n count 0then...
php在陣列中判斷某個值是否存在
php在陣列中查詢指定值是否存在的方法有很多,記得很久以前我一直都是傻傻的用foreach迴圈來查詢的,下面我主要分享一下用php內建的三個陣列函式來查詢指定值是否存在於陣列中,這三個陣列分別是 in array array search array key exists 首先分別介紹一下各自的定義...