首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server ISNULL vs MySQL IFNULL 函數用法對照表

     編輯:關於SqlServer

SQL Server ISNULL

ISNULL(check_expression, replacement_value)
  • 兩參數資料型別必須相同 (隱含轉換)。
  • check_expression 為 NULL → 回傳 replacement_value。
  • check_expression 不為 NULL → 回傳 check_expression。

MySQL IFNULL

IFNULL(expr1, expr2)
  • 型別可不同,回傳型別依較高優先級決定。
  • expr1 不為 NULL → 回傳 expr1,否則回傳 expr2。

快速對照

特性SQL Server ISNULLMySQL IFNULL
參數數22
型別要求必須相容/相同可不同
回傳 NULL 可能否 (第二參數非 NULL 時)是 (expr2 為 NULL)
標準 SQL 對應COALESCE (多參數)COALESCE (多參數)

跨平台建議

  • 可移植性優先:使用 COALESCE(expr1, expr2, ...),ANSI SQL 標準,支援多參數,所有主流資料庫皆支援。
  • SQL Server 專案:ISNULL 效能略優於 COALESCE (後者轉為 CASE 運算式)。
  • MySQL 專案:IFNULL 或 COALESCE 均可。

範例

-- SQL Server
SELECT ISNULL(Price, 0) FROM Products;

-- MySQL
SELECT IFNULL(Price, 0) FROM Products;

-- 通用
SELECT COALESCE(Price, 0) FROM Products;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved