используйте приведение в SQL case - PullRequest
0 голосов
/ 05 февраля 2020
SELECT
    CASE
       WHEN column1 = 43 THEN CAST('abcde' as varchar(30))  
       WHEN column1 = 44 THEN CAST('fghij' as varchar(30))
       ELSE 'N/A'
    END AS value

Правильны ли приведенные выше операторы case и cast? Мне нужно конвертировать int в varchar. column1 - это значение, полученное из другой таблицы.

Вопрос 2. У меня есть два значения из двух разных таблиц (table1 и table2), и им нужно go для окончательного типа данных таблицы varchar

значение 1 = CONVERT (VARCHAR ( 10), CAST (c .table1 * 100 AS DECIMAL (5,2))) + '%' AS value1

value 2 = CONVERT (VARCHAR (10), c .table2,101 ) AS value2

c .table1 - десятичное число, полученное из таблицы1 c .table2 - целое число, полученное из таблицы2, и оба должны быть varchar за финальным столом

как объединить оба заявления, так что он может отображаться в финальной таблице, это не ИЛИ, это И. набор результатов:

enter image description here

...