View Full Version : Select اعداد ذخيره شده با نماد Scientific
A.Farzin
چهارشنبه 20 مرداد 1389, 11:45 صبح
با سلام
در يك ستون float برخي از اعداد بزرگ با نماد علمي يا Scientific ذخيره شده است. مثلاً 8.20853957208539E+16
چگونه ميتوانم يك كوئري بگيرم كه فقط اعداد با نماد علمي ذخيره شده را نشان دهد؟
ممنونم
m_omrani
چهارشنبه 20 مرداد 1389, 15:29 عصر
شايد اين راهي باشد:
CHARINDEX('E',CAST(X AS VARCHAR(50))) > 0
A.Farzin
شنبه 23 مرداد 1389, 08:57 صبح
با CAST كردن مقادير به VARCHAR مشكلي حل نميشود و اعداد ذخيره شده به شكل معمولي هم در جواب ظاهر ميشود.
AminSobati
شنبه 30 مرداد 1389, 19:33 عصر
سلام دوست عزیزم،
طبعا اعدادی که از مقدار خاصی بزرگتر باشند به این شکل نمایش میدن. میتونین Range رو پیدا کنین و در WHERE بکار ببرین
A.Farzin
یک شنبه 31 مرداد 1389, 09:46 صبح
با تشكر از استاد محترم،
در حال حاضر، Range مورد نظر براي تبديل عدد float به نماد علمي عدد 999,999,999,999,999 است و هر عددي كه بيشتر از اين مقدار باشد با نماد علمي ذخيره ميشود.
ولي نكته جالب اينكه در گذشته در همين جدول اعدادي بيش از اين هم ذخيره شدهاند كه به صورت نماد علمي نيستند (مثل 81,664,716,616,647,168) و در حال حاضر حتي اين عدد هم به نماد علمي تغيير ميكند!
آيا ممكن است اين موضوع بستگي به پارامترهاي تنظيمي سرور (دستورات SET) داشته باشد؟ در غير اين صورت و با توجه به اينكه فقط حجم ديتابيس تغيير كرده، آيا ممكن است به حجم ديتابيس ربط داشته باشد؟
تصوير پيوست نتيجه برگردانده شده در 2005 است.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.