📅  最后修改于: 2023-12-03 15:33:01.595000             🧑  作者: Mango
在 MySQL 中,IF 是一条流程控制语句,可根据指定条件执行不同操作。
IF 语句的一般语法如下:
IF(condition, value_if_true, value_if_false)
其中,
condition
是一个布尔表达式或逻辑条件;value_if_true
是如果条件为 true 时要返回的值;value_if_false
是如果条件为 false 时要返回的值。下面是一个简单的实现:
SELECT IF(1 > 0, 'true', 'false') AS Result;
上述代码将返回 'true'
。
SELECT ProductName, IF(UnitsInStock > 30, 'InStock', 'OutOfStock') AS StockStatus
FROM Products;
上述代码将返回产品的名称及库存状态,如果库存大于 30,则状态为 “InStock”,否则为 “OutOfStock”。
SELECT ProductName, IFNULL(UnitsInStock, 'N/A') AS StockNumber
FROM Products;
上述代码将返回产品名称及库存数量,如果库存数量为 NULL,则返回 “N/A”。
SELECT ProductName, UnitPrice, UnitsInStock, UnitPrice * IF(UnitsInStock > 30, 0.9, 0.8) AS DiscountedPrice
FROM Products;
上述代码将返回产品名称、单价、库存数量以及折扣价(如果库存数量大于 30,则折扣价是原价的 90%,否则为 80%)。
SELECT ProductName, CategoryID,
IF(CategoryID = 1, 'Beverages',
IF(CategoryID = 2, 'Condiments',
IF(CategoryID = 3, 'Confections', 'Other'))) AS CategoryName
FROM Products;
上述代码将返回产品名称、类别 ID 及类别名称。如果类别 ID 是 1,则为饮料;如果是 2,则为调味品;如果是 3,则为糖果;否则为 “其他”。
IF 是 MySQL 中的一个流程控制语句,允许根据指定的条件执行不同的操作。IF 语句可以用于处理 NULL 值、计算列和嵌套语句等常见情境。熟练掌握 IF 语句的使用有助于编写更为高效且易读的 SQL 语句。