روند كرددن مقدار بازگشتي يك كوئري
سلام
يه كوئري نوشته ام كه يه عدد كه مبلغ يه كالاست را برميگردونه مشكلم اينه كه مثلا عدد را به صورت 25125.12 بر ميگردونه در حالي كه ميخواهم عدد به صورت روند شده برگردونده بشه.(مثلا به جاي عدد بالا 25120 برگردانده بشه) آيا راهي براي اين كار وجود داره؟
اگر بشه با دستورات SQL اين كار را انجام داد خيلي بهتره:لبخند:
نقل قول: روند كرددن مقدار بازگشتي يك كوئري
سلام؛ می تونید از تابع ROUND استفاده کنید. این تابع عدد رو با دقت مورد نظر گرد می کنه.
مثال:
SELECT ROUND(filedname,0) AS filedname FROM tablename
به نزدیکترین عدد گرد میشه.
نقل قول: روند كرددن مقدار بازگشتي يك كوئري
سلام و ممنون
حالا اگه بخواهم يه int را روند تر از چيزي كه هست بكنم چطور؟!:گیج:
مثلا 25102 را 25100 برگرداند
نقل قول: روند كرددن مقدار بازگشتي يك كوئري
نقل قول:
نوشته شده توسط
happy65_sh
سلام و ممنون
حالا اگه بخواهم يه int را روند تر از چيزي كه هست بكنم چطور؟!:گیج:
مثلا 25102 را 25100 برگرداند
عجب کاری! خب تا اونجایی که می دونم در این مورد هیچ راهکاری در برنامه نویسی درنظر گرفته نشده. وباید خودتون این کار رو انجام بدید.
برای گرد کردن یک عدد طبیعی، نیاز داریم که یکان اون عدد رو بدست بیاریم، برای اینکار عدد موردنظر رو بر 10 تقسیم می کنیم، و عددی که در باقیمانده حاصل میشه، یکان عدد میشه (Number Mod 10). اگه یکان کوچکتر از 5 بود عدد به سمت پایین گرد میشه(عدد - یکان) و اگر بزرگتر از 5 بود به سمت بالا گرد میشه(عدد - یکان + 10).
نقل قول: روند كرددن مقدار بازگشتي يك كوئري
سلام
SELECT ROUND( 12.56,0) - ROUND(12.56,0) % 10
البنه بسته به نوع پایگاه داده دستورات باقیمانده و گرد کردن می تونه فرق کنه
این نگارش بالا برای SQLserver می باشد.
خوب نتیجه میشه 10
نقل قول: روند كرددن مقدار بازگشتي يك كوئري
به همچین کاری هم میتونین بکنین ...
SELECT ROUND(filedname/100,0)*100 AS filedname FROM tablename