Geçtiğimiz günlerde SQL Server'da ISNUMERIC ile çalışıyordum, bir sorunla karşılaştığımda bu kod parçasını bulmaya başladım.ISNUMERIC ('.') Neden 1?
SELECT ISNUMERIC('.')
Bu, 1 döndürür, true olarak, bu dönüş 0 yanlış olarak değil mi?
Geçtiğimiz günlerde SQL Server'da ISNUMERIC ile çalışıyordum, bir sorunla karşılaştığımda bu kod parçasını bulmaya başladım.ISNUMERIC ('.') Neden 1?
SELECT ISNUMERIC('.')
Bu, 1 döndürür, true olarak, bu dönüş 0 yanlış olarak değil mi?
Bkz. IsNumeric() Broken? Only up to a point.
SELECT CAST('.' AS MONEY)
döner 0.00
(döküm int
ve float
başarısız olsa da)
ISNUMERIC
sadece değeri genellikle yararsız sayısal veri türleri herhangi birine dökülebilir kontrol eder. Genellikle belirli bir türe dönüştürülebilir olup olmadığını bilmek istersiniz.
Additionally it doesn't even seem to do that task correctly for all possible inputs.. ISNUMERIC(' ')
, hem int hem de para basarısına rağmen 0
değerini döndürür. Tersine ISNUMERIC(N'8')
, 1
döndürür, ancak denediğim herhangi bir öğeye başarılı bir şekilde yayınlanmaz.
Bunun için bazı yararlı yardımcı işlevleri buradadır IsNumeric, IsInt, IsNumber. SQL Server 2012, bu büyük ölçüde yardımcı olan TRY_PARSE
ve TRY_CONVERT
ürününü tanıttı.
tam olarak çalışır. Kaygan eğimi düşünün: '10' tamam, '10.0' tamam, '10. 'tamam ... (slayttan yürütme) böylece' .1' tamam olmalı ... ve '.0' ve .. evet, tamam. [Ayrışmayı girmek için cömert olmak] (https://plus.google.com/114034641416688387662/posts/8bJZnLFxAfi) bazen olumsuzluklara sahiptir. – sehe
Bunun için teşekkürler, Denali rulo! –
Çünkü "." ondalık sayılarda kullanılır!
için here
vererek isNumeric öğesinin gör '-' & '' Neden null ('-') & isnumeric ('.') 1 döndürüyor?
Yanıt: "-" negatif ve "." Anlamına gelir. ondalık numarasında kullanılır. Buna rağmen neden ISNUMERIC adını verdikleri hakkında hiçbir fikrim yok. numaralı telefonun adı, ISNUMBERRELATED olmalıdır.
ben daha bilgi var burada, o da sayısal olarak diğer sayısal olmayan bir kaç alan yorumladığı düşünüyorum -
http://classicasp.aspfaq.com/general/what-is-wrong-with-isnumeric.html
hayır. 1.1 sayısal. ISNUMERIC()) çok basit, hatta aptalca bile diyebiliriz ... bu nedenle sayısal bir dönem düşünür. Bu konu için –
',' de (birçok yerel ondalık ayırıcı olarak kullanır) – Unsliced