Я пытаюсь иметь инструкцию SELECT из столбца tinyint и декодировать его.SQL Server CAST a CASE на
Пример:
- SimpleText
- MoreText
- AnotherText
Я прочитал в других постах, которые вы используете CAST/CONVERT заявление, но я получаю ту же ошибку, что он не может преобразовать 'MoreText' в int.
Мое заявление следующая
SELECT [ID]
,[OneColumn]
,[UselessColumn]
,CAST (CASE
WHEN [ImportantColumn] = 1 THEN 'SimpleText'
WHEN [ImportantColumn] = 2 THEN 'MoreText'
WHEN [ImportantColumn] = 3 THEN 'AnotherText'
ELSE 'NoText' END AS nvarchar(20)) AS [ProblemColumn]
,[ColumnNotImportant]
FROM [sof].[ExampleTable]
Я также попытался
SELECT [ID]
,[OneColumn]
,[UselessColumn]
,CASE
WHEN [ImportantColumn] = 1 THEN CAST('SimpleText' AS nvarchar(20))
WHEN [ImportantColumn] = 2 THEN CAST('MoreText' AS nvarchar(20))
WHEN [ImportantColumn] = 3 THEN CAST('AnotherText' AS nvarchar(20))
ELSE 'NoText' END AS [ProblemColumn]
,[ColumnNotImportant]
FROM [sof].[ExampleTable]
Вы уверены, что вышеуказанные запросы вызвали ошибку –
я имею в виду, что все, что вы делаете с результатом этого запроса проблемы. Ошибка, возникающая из SQL или из кода? Вероятно, вы сгенерировали объект DTO с исходным типом важного столбца (int) и не изменили его, когда вы изменили то, что возвращалось. –