Мне нужно что-то вроде этого:
select (len(someLongTextColumn)=0) as isEmpty;
Выше не работает,
Есть ли альтернативы?
Если вы преобразуете в бит, тогда большая часть клиентского кода может читать его как логическое значение (SQL Server не имеет логического типа)как это: Неявный бит с константой 1 или 0 в SQL Server
Попробуй это.
SELECT (CASE WHEN LEN(SomeLongTextColumn) = 0 THEN 1 ELSE 0 END) AS IsEmtpy
@ gbn содержит хорошее объяснение о том, как вернуть логическое значение.
SQL Server:
SELECT CONVERT(BIT, 1) -- true SELECT CONVERT(BIT, 0) -- false
В MS SQL 2012 и более поздних версиях вы можете использовать IIF в качестве сокращения:
select IIF(len(someLongTextColumn) = 0, 1, 0) as isEmpty;