خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


شناسایی شدن مقادیر غیرعددی توسط تابع ISNUMERIC در SQL Server

شناسایی شدن مقادیر غیرعددی توسط تابع ISNUMERIC در SQL Server
تابع ISNUMERIC در SQL Server به شما امکان می دهد تا عددی بودن یا نبودن عبارت را بررسی کنید ولی باز هم ممکن است در Result خود نتیجه ای را دریافت کنید که انتظار آن را ندارید. مثلا در پارامتر این تابع، کاراکتری که عددی نیست، وجود داشته باشد ولی باز هم ISNUMERIC آن را قبول کند.

نرم افزار سامانه مودیان راهکار
دسته ای از کاراکتر ها وجود دارند که تابع ISNUMERIC آنها را به عنوان عدد می پذیرد که شاید تصویر این مورد را نمی کردید. اینها شامل کاراکترهایی مانند +، - و نمادهای مختلف ارزی می باشند. همچنین با توجه به مکان قرار گیری حرف e، کل عبارت می تواند عددی تلقی شود.


لطف به مثال زیر دقت کنید:

  ISNUMERIC('+') AS [+],
ISNUMERIC('-') AS [-],
ISNUMERIC('$') AS [$],
ISNUMERIC('1e2') AS [1e2],
ISNUMERIC('1e+2') AS [1e+2],
ISNUMERIC('e') AS [e],
ISNUMERIC('e+') AS [e+];

توجه داشته باشید که e و e + به تنهایی نتیجه منفی برمی گردانند ، اما وقتی توسط اعداد احاطه شده اند نتیجه مثبت را برمی گردانند. طبق اسناد مایکروسافت، دیتاتایپ هایی که ISNUMERIC =آنها به عنوان عددی تشخیص می دهد شامل موارد زیر است.

Exact Numerics
bigint
int
smallint
tinyint
bit

Fixed Precision decimal
numeric

Approximate float
real

Monetary Values money
smallmoney

بعلاوه تابع ISNUMERIC برای برخی از کاراکترهایی که عدد نیستند ، عدد 1 را برمی گرداند (همانطور که در مثال بالا مشاهده می شود) که شامل کاراکترهایی مانند +، - و نمادهای ارزی معتبر مانند علامت دلار ($) می باشند.


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز