mysql_real_escape_string / Говнокод #4795 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
create function is_numeric (
	@a varchar(100)
) returns int as begin
	declare @retval int
	set @a = replace(@a, '0', '')
	set @a = replace(@a, '1', '')
	set @a = replace(@a, '2', '')
	set @a = replace(@a, '3', '')
	set @a = replace(@a, '4', '')
	set @a = replace(@a, '5', '')
	set @a = replace(@a, '6', '')
	set @a = replace(@a, '7', '')
	set @a = replace(@a, '8', '')
	set @a = replace(@a, '9', '')
	set @a = replace(@a, '.', '')
	if len(rtrim(ltrim(@a))) > 0 set @retval = 0
	else set @retval = 1
	return @retval
end

Вот такая хитрая скалярная функция была найдена в недрах сопровождаемой системы. Согласно ей "...42...42..." -- это число, такие дела.

Запостил: Zebr Zebr, (Updated )

Комментарии (4) RSS

  • Может автор функции проверяет существуют ли только символы относящиеся числам: 0-9 и '.' ?
    Но ведь вместо '.' может быть и ',' 🙂 при соотвествующей кодировке.
    Ответить
  • Похожего -- масса, именно такого -- нет. Так что боян, или нет -- вопрос весьма непростой -- смотря с какой стороны посмотреть.
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8