首頁 資料庫 mysql教程 Mysql中IFNULL与IN操作_MySQL

Mysql中IFNULL与IN操作_MySQL

Jun 01, 2016 pm 01:26 PM
count 專案

bitsCN.com

Mysql IFNULL操作

项目中用到的,当SQL查询某个字段为空的时候,查询结果中设置其值为默认值。最笨的方法当然是对查询结果进行处理了,遍历查询结果,当为空的时候,设置其值:

 代码如下 复制代码
$len=count($result);
for($i=0;$i    $var = $result[$i]['name'];
 if(!$var){
  $result[$i]['name']='default_name';
 }
}
 

如上办法,不仅费时,还??隆H绻?茉?ql语句中直接解决多好啊。

SQL中有ISNULL方法,介绍如下:


ISNULL

使用指定的替换值替换 NULL。

语法

ISNULL ( check_expression , replacement_value )

参数

check_expression

将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
replacement_value

在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。

 
但在Mysql中,isnull只是用来判断是否为空,不能实现替换功能,照上面写的话,会直接报错(Incorrect parameter count in the call to native function 'isnull' Errornumber:1582 )。

那么Mysql中如何实现SQL中的ISNULL方法呢?

IFNULL( check_expression , replacement_value ),实现了SQL中的ISNULL方法。

见下sql语句

 代码如下 复制代码
mysql> SELECT IFNULL(1,0);
+-------------+
| IFNULL(1,0) |
+-------------+
|           1 |
+-------------+
1 row in set
 

由于 expr1 是 1,不为 NULL,所以函数返回 1. 我们可以再试下,如果让 expr1 为 NULL,是否能返回第二个参数呢? 不妨让 expr1 = 1/0, 由于除数为0,结果就为 NULL 了。

 代码如下 复制代码
mysql> SELECT IFNULL(1/0,'NowaMagic');
+-------------------------+
| IFNULL(1/0,'NowaMagic') |
+-------------------------+
| www.111cn.net               |
+-------------------------+
1 row in set
 

前面的参数为 NULL,就返回第二个参数 www.111cn.net 了。

这个函数不难理解,为什么要介绍这个函数呢?这是为了后面讲述 MySQL 下的高级黑客技术做的基础知识准备,你可以先试着理解这么一句 hack SQL

 代码如下 复制代码
UPDATE table SET views = '1' WHERE id = -2441 OR (ORD(MID((SELECT IFNULL(CAST(FirstName AS CHAR),0x20) FROM nowamagic.`tb2` ORDER BY id LIMIT 1,1),2,1))>112)#
 

 
Mysql的IN操作

见如下SQL语句

 代码如下 复制代码
select product
from ProductParameter
where val = 19116 OR val = 19127 OR val = 19128 OR val = 19119
 

OR了很多是不是觉得很繁琐呀?用IN就解决了:

 代码如下 复制代码
select product
from ProductParameter
where val in (19116, 19127, 19128, 19119))
 

更多详细内容请查看:http://www.111cn.net/database/mysql/57520.htm

bitsCN.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

AI攻克費馬大定理?數學家放棄5年職業生涯,將100頁證明變代碼 AI攻克費馬大定理?數學家放棄5年職業生涯,將100頁證明變代碼 Apr 09, 2024 pm 03:20 PM

費馬大定理,即將被AI攻克?而整件事最有意義的地方在於,AI即將解決的費馬大定理,正是為了證明AI無用。曾經,數學屬於純粹的人類智力王國;如今,這片疆土正被先進的演算法所破解,所踐踏。圖片費馬大定理,是一個「臭名昭著」的謎題,在幾個世紀以來,一直困擾著數學家。它在1993年被證明,而現在,數學家們有一個偉大計畫:用電腦把證明過程重現。他們希望在這個版本的證明中,如果有任何邏輯上的錯誤,都可以由電腦檢查出來。專案網址:https://github.com/riccardobrasca/flt

分享PyCharm專案打包的簡易方法 分享PyCharm專案打包的簡易方法 Dec 30, 2023 am 09:34 AM

簡單易懂的PyCharm專案打包方法分享隨著Python的流行,越來越多的開發者使用PyCharm作為Python開發的主要工具。 PyCharm是功能強大的整合開發環境,它提供了許多方便的功能來幫助我們提高開發效率。其中一個重要的功能就是專案的打包。本文將介紹如何在PyCharm中簡單易懂地打包項目,並提供具體的程式碼範例。為什麼要打包專案?在Python開發

深入了解PyCharm:快速刪除項目的方法 深入了解PyCharm:快速刪除項目的方法 Feb 26, 2024 pm 04:21 PM

標題:深入了解PyCharm:刪除專案的高效方式近年來,Python作為一種強大而靈活的程式語言,受到越來越多開發者的青睞。在Python專案的開發中,選擇一個高效的整合開發環境至關重要。 PyCharm作為一款功能強大的整合開發環境,為Python開發者提供了許多便利的功能和工具,其中包括快速、有效率地刪除專案目錄。以下將著重介紹如何使用PyCharm中的刪除

PyCharm實用技巧:將項目轉換為可執行EXE文件 PyCharm實用技巧:將項目轉換為可執行EXE文件 Feb 23, 2024 am 09:33 AM

PyCharm是一款功能強大的Python整合開發環境,提供了豐富的開發工具和環境配置,讓開發者更有效率地編寫和除錯程式碼。在使用PyCharm進行Python專案開發的過程中,有時候我們需要將專案打包成可執行的EXE文件,以便在沒有安裝Python環境的電腦上執行。本文將介紹如何使用PyCharm將專案轉換為可執行的EXE文件,同時給出具體的程式碼範例。首

製作 iPhone 上 iOS 17 提醒應用程式中的購物清單的方法 製作 iPhone 上 iOS 17 提醒應用程式中的購物清單的方法 Sep 21, 2023 pm 06:41 PM

如何在iOS17中的iPhone上製作GroceryList在「提醒事項」應用程式中建立GroceryList非常簡單。你只需添加一個列表,然後用你的項目填充它。該應用程式會自動將您的商品分類,您甚至可以與您的伴侶或扁平夥伴合作,列出您需要從商店購買的東西。以下是執行此操作的完整步驟:步驟1:開啟iCloud提醒事項聽起來很奇怪,蘋果表示您需要啟用來自iCloud的提醒才能在iOS17上建立GroceryList。以下是它的步驟:前往iPhone上的「設定」應用,然後點擊[您的姓名]。接下來,選擇i

counta和count的區別 counta和count的區別 Nov 20, 2023 am 10:01 AM

Count函數用於計算指定範圍內數字的個數。它忽略文字、邏輯值和空值,但會將空白儲存格計算在內,Count函數只計算包含實際數字的儲存格數量。而CountA函數用於計算指定範圍內非空單元格的個數。它不僅計算包含實際數字的儲存格,還計算包含文字、邏輯值和公式等非空白儲存格的數量。

react啟動專案報錯怎麼辦 react啟動專案報錯怎麼辦 Dec 27, 2022 am 10:36 AM

react啟動專案報錯的解決方法:1、進入專案資料夾,啟動專案並查看報錯資訊;2、執行「npm install」或「npm install react-scripts」指令;3、執行「npm install @ant-design/ pro-field --save」指令。

基於開源的 ChatGPT Web UI 項目,快速建立屬於自己的 ChatGPT 站點 基於開源的 ChatGPT Web UI 項目,快速建立屬於自己的 ChatGPT 站點 Apr 15, 2023 pm 07:43 PM

身為科技部落客,了不起比較喜歡各種折騰,之前給大家介紹過ChatGPT接入微信,釘釘和知識星球(如果沒看過的可以翻翻前面的文章),最近再看開源專案的時候,發現了一個ChatGPTWebUI專案。想著剛好之前沒有將ChatGPT接入WebUI,有了這個開源專案可以拿來使用,真是不錯,下面是實操的安裝步驟,分享給大家。安裝官方在Github的專案文件上提供了很多中的安裝方式,包括手動安裝,docker部署,以及遠端部署等方法,了不起在選擇部署方式的時候,一開始為了簡單想著

See all articles