1. 程式人生 > >HIVE中LIKE和RLIKE的區別

HIVE中LIKE和RLIKE的區別

看書的過程中發現hive有兩個用於通配的操作符,LIKE和RLIKE,查了些資料總結一點二者的區別

LIKE

語法格式為A [NOT] LIKE B,B是sql下的簡單正則表示式,也叫萬用字元模式,如_匹配一個字元,%可以匹配任意多個字元,A會對錶達式B做匹配,如果通過返回TRUE,如果不通過則返回FALSE,舉個栗子
SELECT name LIKE ‘%Alice’ FROM table1,表示選擇name列內以ALICE作為結尾的資料

RLIKE

語法格式為A [NOT] RLIKE B,基於java的正則表示式介面實現,如果A中有與B匹配則返回TRUE,否則返回FALSE,java的正則表示式相信大家都比較熟悉就不舉具體的例子了

區別

萬用字元匹配的是整個列,比如helloworld就無法和’world’通配,但是正則表示式則是在列值內進行匹配,helloworld就可以和’world’匹配返回TRUE

另外,引入RLIKE該操作符的目的是引入正則表示式這樣一個更加強大的語言來匹配條件,舉個簡單的對比例子

A RLIKE '.*(Alice|Ben).*'
匹配包含Alice或者Ben的欄位,使用LIKE的話需要用兩個LIKE來做組合,下面是使用LIKE改成相同效果
A LIKE '%Alice%' OR A LIKE '%Ben%'

相關推薦

HIVELIKERLIKE區別

看書的過程中發現hive有兩個用於通配的操作符,LIKE和RLIKE,查了些資料總結一點二者的區別 LIKE 語法格式為A [NOT] LIKE B,B是sql下的簡單正則表示式,也叫萬用字元模式,如_匹配一個字元,%可以匹配任意多個字元,A會對錶達式B做匹

HIVE likerlike

like與rlike的區別: like不是正則,是萬用字元。這個萬用字元可以看一下SQL的標準,例如%代表任意多個字元。 rlike是正則,正則的寫法與java一樣。'\'需要使用'\\',例如'\w'需要使用'\\w' --NAME中包含數字的 select n

mybatis的#$的區別

背景 插入 trac sql註入 -m .com article 參數 -s 1. #將傳入的數據都當成一個字符串,會對自動傳入的數據加一個雙引號。如:order by #user_id#,如果傳入的值是111,那麽解析成sql時的值為order by "111", 如果傳

hibernatehql語句listiterate區別

每次 hibernate 寫入 所有 讀取 條件 iter 查詢 hql 1.使用list()方法獲取查詢結果,每次發出一條語句,獲取全部數據。2.使用iterate()方法獲取查詢結果,先發出一條SQL語句用來查詢滿足條件數據的id,然後依次按照這些id查詢記錄,也就是要

javaArrayListLinkedList區別

插入 list 新的 查找 arr tro 基於 列表 時間復雜度 ArrayList和LinkedList最主要的區別是基於不同數據結構 ArrayList是基於動態數組的數據結構,LinkedList基於鏈表的數據結構,針對這點,從時間復雜度和空間復雜度來看主要區別:

mysqlreplicate_wild_do_tablereplicate_do_db區別

lan rep cati mil 多人 pan think lte 避免 使用replicate_do_db和replicate_ignore_db時有一個隱患,跨庫更新時會出錯。 如在Master(主)服務器上設置 replicate_do_db=test(my.conf

linux ll ls 區別

彩色 顯示文件 時間排序 linux 常用 所有 數字 名稱 sub ll 列出來的結果詳細,有時間,是否可讀寫等信息 ,象windows裏的 詳細信息ls 只列出文件名或目錄名 就象windows裏的 列表ll -t 是降序, ll -t | tac 是升序 ll不是

jsdecodeURI()encodeURI()區別,decodeURIComponentencodeURIComponent區別

nbsp sch www 問題 encode 替換 副本 字符替換 序列 decodeURI()定義和用法:decodeURI()函數可對encodeURI()函數編碼過的URI進行解碼.語法:decodeURI(URIstring)參數描述:URIstring必需,一個字

HTP協議URIURL區別

int 名稱 net form 打開 文件路徑 指定 支持 地址 URL(uniform resource location ):統一資源定位符 URI(uniform resource identifier):統一資源標誌符 URI:可以表示一個域,也可以表示一個

mysqlvarcharchar區別(思維導圖整理)

var 但是 系統 mysql 由於 varchar .html nbsp 了解   由於mysql一直是我的弱項(其實各方面我都是很弱的),所以最近在看msyql,正好看到varchar和char區別,所以整理一下,便於以後遺忘。      0.0圖片已經說明一切,但是系

JavaScriptNullundefind區別

cdc 如何 undefine 只有一個 som pre cnblogs 定義 報錯 公眾號原文 Javascript有5種基本類型:Boolean,Number,Null,Undefined,String;和一種復雜類型:Object(對象); undef

淺談 Mybatis的 ${ } #{ }的區別

mybatis sql註入 語句 nbsp 之前 com pre 預編譯 sql 語句 一、舉例說明 1 select * from user where name = "dato"; 2 3 select * from user where name = #

mysql deletetrncate區別

重新 sql delet use 它的 刪除 掃描 進行 from mysql中刪除表記錄delete from和truncate table的用法區別: MySQL中有兩種刪除表中記錄的方法:(1)delete from語句,(2)truncate table語句。 d

VBA字符串連接/字符串拼接“&”“+”的區別

運算符 強制 clear arch tle .com 字符串連接 ive 數字 VBA中字符串連接/字符串拼接中“&”和“+”的區別 在VBA中用於字符串連接的只有“&”和“+”兩種運算符。 1、“&”是強制性連接,就是不管什麽都連接。 2、

說一下PHPdie()exit()區別

選擇 fop class 系統 light 常用 spa ner 終端 PHP手冊:die()Equivalent to exit()。 說明:die()和exit()都是中止腳本執行函數;其實exit和die這兩個名字指向的是同一個函數,die()是exit()函數的別名

Mysqldatetimetimestamp區別

sta mysql -m 時區 日期 timestamp 適應 tex 區別 DATETIME日期和時間的組合。支持的範圍是‘1000-01-01 00:00:00‘到‘9999-12-31 23:59:59‘。MySQL以‘YYYY-MM-DD HH:MM:SS‘格式顯示

jsopener parent區別

pen window ner win 就是 引用 窗口 iframe 彈出 1、opener即誰打開我的,比如A頁面利用window.open彈出了B頁面窗口,那麽A頁面所在窗口就是B頁面的opener,在B頁面通過opener對象可以訪問A頁面。 2、parent表示父窗

【轉載】詳解 $_SERVER 函數QUERY_STRINGREQUEST_URI區別

host dex 執行 sel 實例 server 文件 uri cal 實例:1,http://localhost/aaa/ (打開aaa中的index.php)結果:$_SERVER[‘QUERY_STRING‘] = "";$_SERVER[‘REQUEST_URI‘

Python__repr____str__區別

close 提示 bsp pri urn 創建 pla 不同 並不是 1.先看區別 1 class Test(object): 2 def __init__(self, value=‘hello, world!‘): 3 self.data

Pythonis==的區別

int 要素 com 分別是 htm python get 參考資料 元組類型 Python中有很多運算符,今天我們就來講講is和==兩種運算符在應用上的本質區別是什麽。 在講is和==這兩種運算符區別之前,首先要知道Python中對象包含的三個基本要素,分別是:id(身份