isnull函数返回不正确

时间:2017-03-16 15:53:24

标签: sql sql-server isnull

enter image description here

当我使用isnull时,它不会返回''请看下面我有原始DOB,isnull使用,铸造日期。

2 个答案:

答案 0 :(得分:1)

您需要将dob转换为char/nchar/varchar/nvarchar类型以使用isnull()coalesce()

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

答案 1 :(得分:1)

如果你真的想为日期值返回一个空字符串,可以在新的查询窗口中尝试这个。它创建一个表来重新生成对null日期值的要求,然后在删除表之前选择该值。

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