1. 程式人生 > >Mysql查詢條件加引號與不加引號的區別

Mysql查詢條件加引號與不加引號的區別

開頭向大家問好,看了上篇文章閱讀數激增到300+,覺得寫的文章還是對一些人有幫助的,很開心。其實我並不是個善於言辭的人,生活中我是個很陰鬱的人,並不是所有人都喜歡和我做朋友,這麼多人(我知道其實沒300人,閱讀數不是人次數,好歹我也是程式設計師。)看了我的文章,讓我有一點小開心,希望大家可以給我一些留言建議,我會認真的回覆。謝謝。

好了,說了那麼多,讓我們來看今天遇到的問題:

今天公司網站有個註冊使用者惡意留言,所以運營人員決定封禁該賬號,網站註冊均為手機號。

寫sql查詢該手機號的使用者(看了表字段,`loginname` varchar(255),建表的真是個奇人),查詢中發現了一個問題,不寫引號的話,直接寫數字是可以查詢出該行的,但是加上引號後便查不出,效果如下圖:

幾番Google之後,發現時Mysql對於不同資料型別的條件會進行隱式轉化(隱式就是你看不到,Mysql自己按照規則將值轉化後,再去匹配),不加引號的話,會將loginname作為Int型別進行匹配,所以字串‘15920147610_disabled’精度上會有損失,如PHP的float型別的精度損失一樣。

具體有一些內容網上都有,官網也有介紹,我就不一一寫出來了,可以看看幾篇文章:

//這篇文章比較全面,列舉了幾個例子,關於Mysql的隱式轉化的規則介紹等:

https://yq.aliyun.com/articles/39477

:)

相關推薦

Mysql查詢條件引號引號區別

開頭向大家問好,看了上篇文章閱讀數激增到300+,覺得寫的文章還是對一些人有幫助的,很開心。其實我並不是個善於言辭的人,生活中我是個很陰鬱的人,並不是所有人都喜歡和我做朋友,這麼多人(我知道其實沒300人,閱讀數不是人次數,好歹我也是程式設計師。)看了我的文章,讓我有一點小

Oracle的sql語句,查詢條件括號括號區別 -

ont 執行 ora 語句 oracl lar AC rac oracle 例如: SELECT ename, job, deptno FROM emp WHERE deptno in (10, 20) AND (ename like ‘%

JS宣告物件時屬性名引號引號的問題及解決方法

一般情況下屬性名加引號和不加引號是都可以的,效果是一樣的。 var obj = { name : '你好', 'age' : 1, }; document.write( obj['name'] + '<br />' ); document.write(

js調用函數時括號括號的區別

調用函數 執行 查看 return 區別 代碼 調用 dem 部分 函數名其實就是指向函數體的指針 不加括號, 可以認為是查看該函數的完整信息, 不加括號傳參,相當於傳入函數整體 加括號 表示立即調用(執行)這個函數裏面的代碼(花括號部分的代碼) 例2: functio

python中類的方法裏面變量前selfself的區別

UI PYTHON SELF 1.最近在執行一個UI自動化腳本登錄網站時遇到一個很奇葩的問題:運行腳本後chromedriver會驅動瀏覽器打開網站執行腳本裏面的一系列界面操作,操作完後瀏覽器自動關閉了(重點就在這裏,我明明沒有調用webdriver的close()或是quite()方法,為什麽它

JavaScript變數宣告時 “var” “var” 的區別

    最近由於需要,在學習JavaScript,首先的var就很不解,在看了好多部落格並經過一系列的程式碼試驗。有以下總結: 總結:  1. 在函式內部的變數,加var 是區域性變數;不加是全域性變數,會對函式封裝造成影響。 2. 全域性作用域,加var的

C語言 函式指標呼叫時星號星號?

函式指標在賦值以後,例如通過庫動態載入方式,然後在使用時,程式呼叫遇到了既加星號,也有不加星號的方式,因此有點疑惑。 先上例項,再作分析 #include <stdio.h> void myfun(void); int main(void) { void (*pf)(void); p

js建構函式括號括號的區別

//首先定義一個建構函式Hello function Hello(){   alert(1); } //定義一個函式表示式 var getName = function(){   alert(2); } //例項化物件,下面這兩個如果建構函式沒有形參的話,例項

JQuery裡的子元素過濾選擇器,空格空格的區別

最近學習jquery,發現它的選擇器的寫法與css的基本語法很像,加不加空格差別很大。 $(“:first-child)——:first只是返回單個元素,而first-child選擇符將為每個父元素匹

單例模式鎖例項C++

1 教科書裡的單例模式   我們都很清楚一個簡單的單例模式該怎樣去實現:建構函式宣告為private或protect防止被外部函式例項化,內部儲存一個private static的類指標儲存唯一的例項,例項的動作由一個public的類方法代勞,該方法也返回單例類唯一的例項。

AIX, Linux下將指令碼放到後臺執行——nohupnohup的區別

對於Linux下來說,當在系統上執行下面的命令,將test.sh指令碼放到後臺執行/location/test.sh &此時,分兩種情況考慮問題,一:繼續執行exit命令退出當前session, 則 test.sh這個指令碼仍然在Linux系統裡面執行,二:不執行e

LINUX_004:將指令碼放到後臺執行——nohupnohup的區別

Linux系統 當在系統上執行下面的命令,將test.sh指令碼放到後臺執行 /location/test.sh &此時,分兩種情況考慮問題, 一:繼續執行exit命令退出當前session, 則 test.sh這個指令碼仍然在Linux系統裡面執行, 二:不執行e

函式前staticstatic的區別

1:加了static後表示該函式失去了全域性可見性,只在該函式所在的檔案作用域內可見 2:當函式宣告為static以後,編譯器在該目標編譯單元內只含有該函式的入口地址,沒有函式名,其它編譯單元便不能通過該函式名來呼叫該函式,這也是對1的解析與說明

函式呼叫括號括號的區別

最近鑽研JS的時候遇到了一些問題,實話說JS真的是一門很強大的語言,還需繼續修煉。 今天分享的一點知識是:JavaScript 函式呼叫時帶括號和不帶括號的區別!!! 例子說明: 例1. function init(){     。。。。。。 } window.onloa

字符串引號""區別

.com 通配符 匹配 正則表達 字符 能夠 技術 引號 表達式 加雙引號"",表示精確匹配 不加雙引號"",*表示通配符 =~ 左側字符串是否能夠被右側的PATTERN所匹配(註意: 此表達式一般用於[[ ]]中;擴展的正則表達式

mysql where 引號引號

我建立的測試表是這樣子的: 程式碼如下 複製程式碼 CREATE TABLE `foo` ( `key` VARCHAR(10) NOT NULL, `time` INT(11) NOT NULL, PRIMARY KEY (`key`

nginx配置proxy_pass URL末尾/(斜線)的區別

gin clas 末尾 jpg 127.0.0.1 proxy 技術 div str nginx在配置proxy_pass的時候 URL結尾加斜線(/)與不加的區別和註意事項 假設訪問路徑的 /pss/bill.html 加/斜線的情況 location /pss

轉!!mysql 查詢條件區分大小寫問題

har bin class 區分大小寫 發現 IT server2 nbsp 情況 做用戶登錄模塊時,輸入用戶名(大/小寫)和密碼 ,mysql都能查出來。-- mysql查詢不區分大小寫。 轉自 http://blog.csdn.net/qishuo_java/art

@RequestParam區別

最簡單的兩種寫法,加或不加@RequestParam註解 @RequestMapping("/list") public String test(int userId) { return "list"; } @RequestMapping("/

grep 後引號、雙引號引號區別

單引號: 可以說是所見即所得:即將單引號內的內容原樣輸出,或者描述為單引號裡面看到的是什麼就會輸出什麼。單引號''是全引用,被單引號括起的內容不管是常量還是變數者不會發生替換。 雙引號: 把雙引號內的內容輸出出來;如果內容中有命令、變數等,會先把變數、命