Se houver algum motivo sensato para ignorar os espaços em branco à direita nas comparações de varchar, por que isso também não se aplica aos caracteres de tabulação?
No SQL Server eu recebo
SELECT
case when '' = ' ' then 'true' else 'false' end,
case when '' = CHAR(9) then 'true' else 'false' end
rendimentos
---- -----
true false
Isso é um problema da especificação ANSI ou um problema da implementação do SQL Server?
Editar:
Não tenho acesso ao texto do caderno de especificações. Eu só vejo isso mencionado nesta resposta . Não sei dizer se ele aborda apenas espaços em branco ou se refere a espaços em branco em algum sentido vago.
O mesmo código acima no MySQL 5.5 dá o mesmo resultado
Tab não é "espaço", é um caractere.
O mesmo se aplica ao espaço rígido/sem quebra (char(160) em collations "normais")
O padrão ANSI-92 afirma em 8.2. item 3.a
CS é "sequência de agrupamento". Presumo que nenhum agrupamento use tabulação ou espaços sem quebra como caracteres de preenchimento. Então é espaço...
Observe que LIKE é a seção 8.5 (menciono isso por causa de sua pergunta anterior )