SQL 条件 SELECT 可能包含 NULL

1 sql sql-server-2008

我尝试在 stackoverflow 上搜索此内容,但找不到答案。

我正在简化我的问题,以便它更容易阅读,如果需要,我会扩展。

我有一个员工 SQL 表NAME, ADDRESS, HIRE_DATE,我们最近添加了一个REHIRE_DATE来跟踪新员工何时重新加入公司。我想编写一个 SQL 搜索来提取NAME, ADDRESS他们最近的雇用日期。如果他们是重新雇用的,我会使用该REHIRE_DATE字段,但如果他们是原来的,则使用该HIRE_DATE字段。我猜这是一个在现场CASE寻找的声明,但除此之外我迷失了。NULLREHIRE_DATE

Jer*_*ore 5

我想你需要做的就是这样:

SELECT
    NAME
    , ADDRESS
    , ISNULL(REHIRE_DATE, HIRE_DATE) AS MostRecentHireDate
FROM Employee
Run Code Online (Sandbox Code Playgroud)

在这种情况下,如果填写了重新雇用日期,则重新雇用日期应始终大于雇用日期(在受雇用之前,您无法重新雇用。因此,您总是希望采用重新雇用日期,除非它为空,此时点你确定雇用日期。听起来不错吗?