[英]case statement is returning a 0 instead of empty string
我有以下案例陳述;
case when (
CASE
WHEN datediff(year,view_3.[PERSON BIRTH DATE], @ReportPeriodStartDate) >= 19 AND view_3.[NI NUMBER] IS NOT NULL
THEN '' ELSE view_3.[NI NUMBER] END ) = 0 then '' else view_3.[NI NUMBER] END AS [NI NUMBER],
我希望它返回
Birthddate NI Number
14/04/2012 9000
06/05/2020 2000
01/01/2001
22/12/1998
但是我得到的 output 是;
Birthddate NI Number
14/04/2012 9000
06/05/2020 2000
01/01/2001 0
22/12/1998 0
我不想要零,我想要空字符串。
你想返回一個字符串,所以你需要強制轉換else
:
else cast(view_3.[NI NUMBER] as varchar(255))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.