Преобразовать тип данных в текст для описания случая - PullRequest
0 голосов
/ 02 октября 2019

Мне нужно преобразовать тип данных в текст для следующего утверждения. Может кто-нибудь, пожалуйста, помогите ...

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

Ответы [ 4 ]

2 голосов
/ 02 октября 2019

Попробуйте преобразовать идентификатор заказа к varchar в ветви ELSE вашего выражения CASE:

CASE WHEN COALESCE([Order_ID], '') = ''
     THEN 'N'
     ELSE CAST([Order_ID] AS VARCHAR(MAX)) END AS [Order_ID]
1 голос
/ 02 октября 2019

считают isnull()

CASE WHEN isnull([OrderID], '') = '' THEN 'N'   
     ELSE cast([Order_ID] as varchar(300)) END AS [Order_ID]
0 голосов
/ 02 октября 2019

Вы также можете попробовать ниже:

CASE WHEN OrderID IS NULL THEN 'N'
          WHEN OrderID  ='' THEN 'N'
          ELSE convert(varchar(20),OrderID ) END 
0 голосов
/ 02 октября 2019

Попробуйте этот альтернативный метод -

IIF(ISNULL([OrderID],'')='','N',CAST([OrderID] AS NVARCHAR(MAX))) AS [OrderID]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...