isnull 函数不 return 正确

isnull function does not return correct

当我使用 isnull 时它不会 return '' 请看下面我有原始 DOB,使用 isnull,转换为日期。

您需要将 dob 转换为 char/nchar/varchar/nvarchar 类型才能像那样使用 isnull()coalesce()

select isnull(convert(varchar(10),dob,120),'')

如果您确实想要 return 日期值的空字符串,您可以在新查询中尝试此操作 window。它创建一个 table 来重新定义您对空日期值的要求,然后在删除 table.

之前选择该值
CREATE TABLE dbo.Test
(
Id INT IDENTITY(1,1) NOT NULL
,Date1 DATE NULL
)

INSERT INTO dbo.Test(Date1) VALUES ('01/01/2017')
INSERT INTO dbo.Test(Date1) VALUES ('01/02/2017')
INSERT INTO dbo.Test(Date1) VALUES (NULL)
INSERT INTO dbo.Test(Date1) VALUES ('01/04/2017')

SELECT * FROM dbo.Test

SELECT Date1 = CASE WHEN date1 IS NULL THEN '' ELSE CAST(DATE1 AS    VARCHAR(10)) END from dbo.Test

DROP TABLE dbo.Test
go