【发布时间】:2019-10-02 03:09:47
【问题描述】:
我需要将数据类型转换为以下语句的文本。有人可以帮忙吗...
CASE WHEN [OrderID] IS NULL THEN 'N'
WHEN [Order_ID] = '' THEN 'N'
ELSE [Order_ID] END AS [Order_ID]
【问题讨论】:
标签: sql sql-server tsql case
我需要将数据类型转换为以下语句的文本。有人可以帮忙吗...
CASE WHEN [OrderID] IS NULL THEN 'N'
WHEN [Order_ID] = '' THEN 'N'
ELSE [Order_ID] END AS [Order_ID]
【问题讨论】:
标签: sql sql-server tsql case
尝试在CASE 表达式的ELSE 分支中将订单ID 转换为varchar:
CASE WHEN COALESCE([Order_ID], '') = ''
THEN 'N'
ELSE CAST([Order_ID] AS VARCHAR(MAX)) END AS [Order_ID]
【讨论】:
something 是什么?
考虑isnull()
CASE WHEN isnull([OrderID], '') = '' THEN 'N'
ELSE cast([Order_ID] as varchar(300)) END AS [Order_ID]
【讨论】:
isnull([OrderID], '') = '' THEN
你也可以试试下面的:
CASE WHEN OrderID IS NULL THEN 'N'
WHEN OrderID ='' THEN 'N'
ELSE convert(varchar(20),OrderID ) END
【讨论】:
试试这个替代方法-
IIF(ISNULL([OrderID],'')='','N',CAST([OrderID] AS NVARCHAR(MAX))) AS [OrderID]
【讨论】: