📜  查询没有返回值时的 tsql 默认值 - SQL (1)

📅  最后修改于: 2023-12-03 15:26:40.152000             🧑  作者: Mango

查询没有返回值时的 T-SQL 默认值 - SQL

当我们在 T-SQL 中查询一条语句时,有时候会出现没有返回值的情况。这可能是因为查询的表中没有符合条件的数据,或者查询的列中有 NULL 值。在这种情况下,T-SQL 会返回默认值。本文将介绍 T-SQL 中的默认值及如何自定义默认值。

T-SQL 中的默认值

T-SQL 中的默认值主要涉及以下三种情况:

  1. 当查询的表中没有符合条件的数据时,T-SQL 会返回空结果集。
  2. 当查询的结果集中有 NULL 值时,T-SQL 会返回 NULL。
  3. 当执行 INSERT 命令时,如果没有指定某个列的值,T-SQL 会使用该列的默认值。
自定义默认值

我们也可以自定义默认值。例如,当查询结果集中有 NULL 值时,我们希望返回一个特定的值。可以使用 ISNULL() 函数:

SELECT ISNULL(column_name, default_value)
FROM table_name;

其中,column_name 为查询的列名,default_value 为要返回的默认值。

另外,我们也可以使用 COALESCE() 函数:

SELECT COALESCE(column_name, default_value)
FROM table_name;

与 ISNULL() 函数相似,column_name 为查询的列名,default_value 为要返回的默认值。

经典案例

下面举个经典的案例,假设我们有一个员工表 employees,其中有一个日期列 hire_date。我们希望查询每个员工的雇佣日期,如果某个员工没有雇佣日期,则返回一个默认值 '1900-01-01'。可以使用以下代码:

SELECT employee_id, ISNULL(hire_date, '1900-01-01') AS hire_date
FROM employees;

或者使用 COALESCE() 函数:

SELECT employee_id, COALESCE(hire_date, '1900-01-01') AS hire_date
FROM employees;

以上就是 T-SQL 中默认值的相关介绍及案例。希望能对大家在日常开发中查询没有返回值时的默认值有所帮助。