O comando abaixo:
SELECT * FROM TB_CLIENTES WHERE TO_CHAR(DATA_NASCIMENTO,'MM') = 9
na verdade, não deveria ser assim:
SELECT * FROM TB_CLIENTES WHERE TO_CHAR(DATA_NASCIMENTO,'MM') = '09'
?
O comando abaixo:
SELECT * FROM TB_CLIENTES WHERE TO_CHAR(DATA_NASCIMENTO,'MM') = 9
na verdade, não deveria ser assim:
SELECT * FROM TB_CLIENTES WHERE TO_CHAR(DATA_NASCIMENTO,'MM') = '09'
?
Olá, Jorge, tudo bem?
A função TO_CHAR
converte um número ou data para o formato de texto.
Neste caso, as duas formas apresentadas estão corretas, pois, mesmo o campo sendo do tipo texto, por ele conter apenas números, é possível realizar a comparação sem utilizar as aspas simples, porém isso só funciona para campos que contém apenas números, caso o campo contenha também letras, é necessário a utilização das aspas simples.
Espero ter ajudado e bons estudos!