Прежде всего: большинство баз данных используют локализованные числовые форматы . Таким образом, превращение числа в строку, скорее всего, не всегда будет таким же, как ваша жестко закодированная строка.
Тогда: у вас возникнут проблемы с используемым вами синтаксисом sql. Смотрите мои эксперименты с оракулом ниже.
В Oracle вам всегда нужно предложение FROM (за исключением того, что они изменили это в версии 10).
select 0.121='0.121' from sys.dual
В Oracle вы не можете иметь подобное выражение в предложении select.
Вам нужен регистр:
select case when 0.121 = '0.121' then 1 else 0 end as xy
from sys.dual
Тогда вы получите ошибку, что это не номер. Чтобы это исправить, конвертируйте это:
select case when To_Char(0.121) = '0.121' then 1 else 0 end as xy
from sys.dual
это вернет 0
! Потому что на моей машине 0.121
преобразуется в строку ".121"
. Это швейцарские настройки. Если бы у меня были немецкие настройки, это было бы ",121"
(обратите внимание на запятую).
Итак, чтобы окончательно ответить на вопрос: Нет .