用regexp_like這個函數來解決,正則表達式為:[[:punct:]]+這個正則可以找出任何標點符號。查詢value中包含任何標點符號的記錄如下:select*fromxxxwhereregexp_like(value,'[[:punct:]]+');POSIX正則表達式由標準的元字符(metacharacters)所構成:'$'匹配輸入字符串的結尾位置。如果設置了RegExp對象的Multiline屬性,則$也匹配'\n'或'\r'。'?'匹配前面的子表達式零次或一次。'*'匹配前面的子表達式零次或多次。'|'指明兩項之間的一個選擇。例子'^([a-z]+|[0-9]+)$'表示所有小寫字母或數字組合成的'()'標記一個子表達式的開始和結束位置。'{m,n}'一個精確地出現次數范圍,m=出現次數=n,'{m}'表示出現m次,'{m,}'表示至少出現m次。\num匹配num,其中num是一個正整數。對所獲取的匹配的引用。[[:alpha:]]任何字母。[[:digit:]]任何數字。[[:alnum:]]任何字母和數字。[[:space:]]任何白字符。[[:upper:]]任何大寫字母。[[:lower:]]任何小寫字母。[[:punct:]]任何標點符號。[[:xdigit:]]任何16進制的數字,相當于[0-9a-fA-F]。\轉義符*,+,?,{n},{n,},{n,m}限定符^,$,anymetacharacter位置和順序。
創(chuàng)新互聯-專業(yè)網站定制、快速模板網站建設、高性價比清遠網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式清遠網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋清遠地區(qū)。費用合理售后完善,十多年實體公司更值得信賴。
利用以下sql:
select col from t where length(col)*2=lengthb(col)
and regexp_like(col,'^[^[:punct:]]*$');
select?t.*?from?t1?t?where?regexp_like(t.str,'[ac]');
oracle中的函數regexp_like,很好用的哦,其中[ac]為正則表達式,意思是,在str字段的數據里,匹配有包含a或者c的數據。具體請在網上查詢oracle數據庫中regexp_like函數的應用,希望能幫助你。
數據庫端只要不是用7位的字符集(如:UTF-7)就行,用UTF-8可以。關鍵在于客戶端使用的字符集必須與數據庫端使用的字符集匹配起來。否則,數據庫顯示正常,客戶端可能會顯示亂碼!
兩個方法:
1.用到正則中的regexp_like
個人感覺可能是regexp_like(字段,'[^[:alphanum:]]')
意思是在字段中匹配非0-9,a-z,A-Z的字段,如果能匹配到,那么可以認為是漢字,否則就不是漢字,當然如果字段中還包含符號,比如加減號什么的,那么那么可能更麻煩一些。
2.用lengthb,與length比長度。如果二者長度相等,那么就沒有中文字符(因為中文字符一個占用兩個字節(jié))。如果lengthb長度大于length長度,那么一般就說明里面存在中文字符。
標題名稱:oracle怎么中文匹配,Oracle 正則匹配
分享網址:http://vcdvsql.cn/article2/dsisjic.html
成都網站建設公司_創(chuàng)新互聯,為您提供ChatGPT、定制網站、做網站、云服務器、定制開發(fā)、靜態(tài)網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯