简体   繁体   English

将数据类型转换为 case 语句的文本

[英]Convert data type to text for case statement

I need to convert data type to text for following statement.我需要将数据类型转换为文本以用于以下语句。 Can someone please help…有人可以帮忙吗...

CASE WHEN [OrderID] IS NULL THEN 'N'
     WHEN [Order_ID] = '' THEN 'N'
     ELSE [Order_ID] END AS [Order_ID]

Try casting the order ID to varchar in the ELSE branch of your CASE expression:尝试在CASE表达式的ELSE分支中将订单 ID 转换为varchar

CASE WHEN COALESCE([Order_ID], '') = ''
     THEN 'N'
     ELSE CAST([Order_ID] AS VARCHAR(MAX)) END AS [Order_ID]

consider isnull()考虑isnull()

CASE WHEN isnull([OrderID], '') = '' THEN 'N'   
     ELSE cast([Order_ID] as varchar(300)) END AS [Order_ID]

Try this Alternate Method-试试这个替代方法-

IIF(ISNULL([OrderID],'')='','N',CAST([OrderID] AS NVARCHAR(MAX))) AS [OrderID]

You Can try below also:您也可以在下面尝试:

CASE WHEN OrderID IS NULL THEN 'N'
          WHEN OrderID  ='' THEN 'N'
          ELSE convert(varchar(20),OrderID ) END 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM