Sql de bazen bir değerin Integer olup olmadığını doğrulamak isteriz. Bunun için internette farklı fonksiyonların yazıldığını görebiliyoruz. Yalnız daha basit bir çözüm için
ISNUMERIC fonksiyonunu kullanabiliriz. Tabi dikkat etmemiz gereken şey
ISNUMERIC fonksiyonunun sadece integer değil float, decimal hatta Scientific Expressions ları da destekliyor olması...
yani aşağıdaki sorgulardan da
ISNUMERIC 1 dönecektir.
SELECT ISNUMERIC('123D3')
SELECT ISNUMERIC('123E3')
ISNUMERIC in sadece Integer kontrolü yapmasını aşağıdaki şekilde sağlayabiliriz. Değişkenin sonuna .0e0 ifadesini ekleyerek
ISNUMERIC in Değişken sadece integer olduğunda 1 dönmesini sağlıyoruz.
ISNUMERIC(@Degisken + '.0e0')