前言:最近剛入職實習,檢視公司業務**時,發現一塊sql語句查詢結果不太理解的地方。
1.問題
xml裡面sql語句查詢最新的工作日
select * from t_fundinfo_gil_tradingday
where l_if_tradingday = 1 and da_tradingdate
order by da_tradingdate desc limit 1;
sql語句中時間『2020-07-20』記得需要新增單引號,不然可能會出錯。
2.疑問
上述sql語句我當時時間沒有加單引號,當查詢小於2020-07-20時,不加單引號,查詢結果為空,sql語句不報錯;
但是我查詢大於2020-07-20時,不加單引號,卻能查詢的一條結果。
這點我十分疑惑,本著有問題就研究是原則,我做了些測試。
3.嘗試找原因
按理說不加單引號的話,會預設將2020-07-20當成int,也就是計算2020-07-20=1993;
update t_test
set `update`=2020-07-20 where id=1;
上述sql報錯:incorrect datatime value :『1993』驗證了這一點。但是在select語句中竟然不會報錯,一直百思不得其解。
4.希望有大佬可以指點迷津
萬分感謝!!!!
MySQL 針對null的排序
預設情況下,mysql將null算作最小值。如果想要手動指定null的順序,就是使用ifnull函式,ifnull expr1,expr2 如果 expr1 不是 null,ifnull 返回 expr1,否則它返回 expr2。ifnull 返回乙個數字或字串值,取決於它被使用的上下文環境。ifn...
MySQL中針對大資料量常用技術
如今隨著網際網路的發展,資料的量級也是撐指數的增長,從gb到tb到pb。對資料的各種操作也是愈加的困難,傳統的關係性資料庫已經無法滿足快速查詢與插入資料的需求。這個時候nosql的出現暫時解決了這一危機。它通過降低資料的安全性,減少對事務的支援,減少對複雜查詢的支援,來獲取效能上的提公升。但是,在有...
針對性的mysql 查詢統計
需求如下 human m 表角色資訊表 human m.id human m.name task m 表角色任務表 關聯human m表id task m.id task m.compleatetask human m 和task m表是一對多的關係,即 乙個角色對應多調任務表 資料 其中b表com...