校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Mysql實現null值排在最前/最后的方法示例

Mysql實現null值排在最前/最后的方法示例

熱門標簽:溫州瑞安400電話怎么申請 電銷機器人各個細節介紹 昆明電信400電話辦理 百度地圖標注后不顯示 俄國地圖標注app 淄博400電話申請 南昌高頻外呼系統哪家公司做的好 電銷機器人 行業 電話機器人市場趨勢

前言

我們已經知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句來讀取數據表中的數據,但是當提供的查詢條件字段為 NULL 時,該命令可能就無法正常工作。

為了處理這種情況,MySQL提供了三大運算符:

  • IS NULL: 當列的值是 NULL,此運算符返回 true。
  • IS NOT NULL: 當列的值不為 NULL, 運算符返回 true。
  • =>: 比較操作符(不同于=運算符),當比較的的兩個值為 NULL 時返回 true。

關于 NULL 的條件比較運算是比較特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。

在 MySQL 中,NULL 值與任何其它值的比較(即使是 NULL)永遠返回 false,即 NULL = NULL 返回false 。

MySQL 中處理 NULL 使用 IS NULL 和 IS NOT NULL 運算符。

最近在做項目遷移,Oracle版本的遷到Mysql版本,遇到有些oracle的函數,mysql并沒有,所以就只好想自定義函數或者找到替換函數的方法進行改造。

oracle做數據排序的時候,有時候可以用nulls first或者nulls last將null值排在最前或者最后。

oracle方法:

null值排在最前

select * from A order by a desc null first

null值排在最后

select * from A order by a desc null last

不過遷到Mysql的話,mysql并沒有提供類似函數,所以要怎么實現?

下面給出解決方法:

null值排在最后,用Mysql的IF和ISNULL函數。如果為空返回1,否返回0

select * from A order by IF(ISNULL(a),1,0),a desc

null值排在最前,用Mysql的IF和ISNULL函數。如果為空返回1,否返回0

select * from A order by IF(ISNULL(a),0,1),a desc

如果mybatis里需要oracle和Mysql版本的,或者可以從后臺傳個數據表版本標識dbType,或者直接用mybatis的_databaseId方法。

 if test="dbType=='oracle'">
   order by c.create_date desc nulls last
   /if>
   if test="dbType=='mysql'">
   order by IF(ISNULL(c.create_date),1,0), c.create_date desc
   /if>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • 你知道mysql中空值和null值的區別嗎
  • 解決mysql使用not in 包含null值的問題
  • MySQL Innodb 存儲結構 和 存儲Null值 用法詳解
  • mysql字符串拼接并設置null值的實例方法
  • MySQL中對于NULL值的理解和使用教程
  • 詳解MySQL中的NULL值
  • mysql中將null值轉換為0的語句
  • MySQL中關于null值的一個小問題

標簽:甘南 葫蘆島 洛陽 嘉峪關 吐魯番 拉薩 安徽

巨人網絡通訊聲明:本文標題《Mysql實現null值排在最前/最后的方法示例》,本文關鍵詞  Mysql,實現,null,值,排在,最前,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Mysql實現null值排在最前/最后的方法示例》相關的同類信息!
  • 本頁收集關于Mysql實現null值排在最前/最后的方法示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 内丘县| 额尔古纳市| 沿河| 建水县| 怀安县| 宜宾市| 娱乐| 宾川县| 道孚县| 磴口县| 海门市| 东辽县| 星子县| 祥云县| 通许县| 栾川县| 南平市| 潼关县| 遵义县| 聊城市| 明光市| 新田县| 安龙县| 土默特右旗| 天镇县| 丹棱县| 泸定县| 黄陵县| 吴堡县| 南郑县| 伊宁县| 琼海市| 留坝县| 平顶山市| 辽宁省| 马边| 上犹县| 潞城市| 宝兴县| 泽州县| 溆浦县|