目錄
查詢奇數:
查詢偶數:
方法解釋:
問題拓展(字串):
使用正規表示式解決:
正規表示式補充介紹:
今天想查詢身份證號是以奇數結尾和以偶數結尾的問題,隨便看了一下網上的方法,大多都是下面情況:
查詢奇數的方法 &1:1的二進位制是0001,與運算子:1 & 1 = 1, 1 & 0 = 0, 0 & 1 = 0, 0 & 0 = 0;所以可以保證最後一位是奇數。
查詢偶數的方法 字段=(字段》1)<<1:
這是左移和右移運算子,先整除再乘,意思就是先整除2再乘以2,看前後結果是否一樣,一樣的就是偶數。
但是這裡面有個問題,就是這種方法是針對欄位全是數字的情況,如果身份證號碼中間用*號隱藏了一部分,就無法使用。
比如:查詢奇數:
查詢偶數:
查詢奇數:
查詢偶數:
這樣更直接準確。
順便說下正規表示式:
^aa :以 aa 為開頭;
aa$ :以aa結尾;
. :匹配任何字元;
[abc]:[字元集合],包含中括號裡的字元;
[^abc]:不包含中括號裡的字元;
a|b|c :匹配a或b或c,(中|美)國;
* :匹配前面的子表示式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等價於;
+ :匹配前面的子表示式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等價於 ;
:n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o;
:m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。
比如:查詢name欄位中以母音字元開頭或以'ok'字串結尾的所有資料:
select name
from person_tbl
where name regexp '^[aeiou]|ok$';
SQL語句判斷奇偶數
題目來自 牛客sql篇.題目描述 有乙個員工表employees簡況如下 請你查詢employees表所有emp no為奇數,且last name不為mary的員工資訊,並按照hire date逆序排列,以上例子查詢結果如下 方法一 使用mod mod a,b 在sql中的意思是 a b 的餘數 m...
快速查詢演算法
在日常的演算法中,查詢是乙個經常涉及到的話題,而如何提高查詢的速度,也是很多程式設計師 軟體研究的話題。先看乙個例子。有這樣乙個資料型別s 學生姓名 name 性別 年齡 age 現在假設有這樣乙個需求 檔案a b中分別存放大量s 的記錄,需要將a b中重複的記錄去掉。我們用c 來演示今天的話題 t...
快速查詢素數
題目 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 現在給你乙個正整數n,要你快速的找出在2.n這些數裡面所有的素數。輸入給出乙個正整數數n n 2000000 但n為0時結束程式。測試資料不超過100組 輸出將2 n範圍內所有的素數輸出。兩個數之間用空格隔開 樣例輸入 5...