نمایش نتایج 1 تا 6 از 6

نام تاپیک: روند كرددن مقدار بازگشتي يك كوئري

  1. #1
    کاربر دائمی آواتار happy65_sh
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شهر بادگیرها
    پست
    372

    روند كرددن مقدار بازگشتي يك كوئري

    سلام
    يه كوئري نوشته ام كه يه عدد كه مبلغ يه كالاست را برميگردونه مشكلم اينه كه مثلا عدد را به صورت 25125.12 بر ميگردونه در حالي كه ميخواهم عدد به صورت روند شده برگردونده بشه.(مثلا به جاي عدد بالا 25120 برگردانده بشه) آيا راهي براي اين كار وجود داره؟
    اگر بشه با دستورات SQL اين كار را انجام داد خيلي بهتره

  2. #2

    نقل قول: روند كرددن مقدار بازگشتي يك كوئري

    سلام؛ می تونید از تابع ROUND استفاده کنید. این تابع عدد رو با دقت مورد نظر گرد می کنه.

    مثال:
    SELECT ROUND(filedname,0) AS filedname FROM tablename

    به نزدیکترین عدد گرد میشه.

  3. #3
    کاربر دائمی آواتار happy65_sh
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    شهر بادگیرها
    پست
    372

    نقل قول: روند كرددن مقدار بازگشتي يك كوئري

    سلام و ممنون
    حالا اگه بخواهم يه int را روند تر از چيزي كه هست بكنم چطور؟!
    مثلا 25102 را 25100 برگرداند

  4. #4

    نقل قول: روند كرددن مقدار بازگشتي يك كوئري

    نقل قول نوشته شده توسط happy65_sh مشاهده تاپیک
    سلام و ممنون
    حالا اگه بخواهم يه int را روند تر از چيزي كه هست بكنم چطور؟!
    مثلا 25102 را 25100 برگرداند
    عجب کاری! خب تا اونجایی که می دونم در این مورد هیچ راهکاری در برنامه نویسی درنظر گرفته نشده. وباید خودتون این کار رو انجام بدید.
    برای گرد کردن یک عدد طبیعی، نیاز داریم که یکان اون عدد رو بدست بیاریم، برای اینکار عدد موردنظر رو بر 10 تقسیم می کنیم، و عددی که در باقیمانده حاصل میشه، یکان عدد میشه (Number Mod 10). اگه یکان کوچکتر از 5 بود عدد به سمت پایین گرد میشه(عدد - یکان) و اگر بزرگتر از 5 بود به سمت بالا گرد میشه(عدد - یکان + 10).
    آخرین ویرایش به وسیله ali.rezaei7 : سه شنبه 20 اردیبهشت 1390 در 10:23 صبح

  5. #5

    نقل قول: روند كرددن مقدار بازگشتي يك كوئري

    سلام

    SELECT  ROUND( 12.56,0) - ROUND(12.56,0) % 10   

    البنه بسته به نوع پایگاه داده دستورات باقیمانده و گرد کردن می تونه فرق کنه

    این نگارش بالا برای SQLserver می باشد.


    خوب نتیجه میشه 10

  6. #6

    نقل قول: روند كرددن مقدار بازگشتي يك كوئري

    به همچین کاری هم میتونین بکنین ...
    SELECT ROUND(filedname/100,0)*100 AS filedname FROM tablename

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •