آخرين پست هاي ارسالي انجمن ايران دلفي

تماشای رایگان فیلم ایرانی ، خارجی و کودک آکادمی دلفی
نمایش نتایج: از 1 به 1 از 1

موضوع: جدا کردن 3 رقم 3 رقم ارقام رشته ای با کد SQL

  1. #1
    مدیرکل سایت admin آواتار ها
    تاریخ عضویت
    September 2008
    محل سکونت
    تهران ، آیسک
    سن
    38
    نوشته ها
    522
    تشکر ها
    247
    تشکر شده 250 بار در 160 ارسال.
    Blog Entries
    1

    جدا کردن 3 رقم 3 رقم ارقام رشته ای با کد SQL

    جدول Products را در زیر داریم:

    می خواهیم نام محصولات (product name) و قیمت (price) را به صورت 3 رقم 3 رقم، جدا شده با ویرگول نمایش دهیم:
    از کوئری زیر استفاده می کنیم:
    کد:

    کد:
    SELECT ProductName, 
     LEFT(CONVERT(VARCHAR, CAST(UnitPrice AS MONEY), 1), 
     * * *LEN(CONVERT(VARCHAR, CAST(UnitPrice AS MONEY), 1)) - 3 
     * * )as UnitPrice *
    FROM Products

    نتیجه به شکل زیر خواهد بود :

    کوئری بالا چگونه کار می کند؟
    در این کوئری، برای ساخت فیلد "UnitPrice" از چهار تابع به صورت زیر استفاده شده است:
    1- cast: با استفاده از این تابع فیلد UnitPrice را به نوع MONEY تبدیل می کنیم:
    CAST(UnitPrice AS MONEY)

    2-convert: در این مرحله عبارت بالا را به نوع VARCHAR تبدیل می کنیم و البته ویرگول ها در این مرحله اضافه می شود:
    CONVERT(VARCHAR, CAST(UnitPrice AS MONEY), 1)

    سوال: چرا پارامتر سوم را با مقدار 1 تنظیم کردیم؟
    زمانی که در تابع ()convert، عبارتی که می خواهیم تبدیل کنیم از نوع money یا smallmoney باشد، پارامتر سوم می تواند یکی از مقادیر نشان داده شده در جدول زیر باشد:


    بنابراین تا اینجای کار، هر سه رقم با ویرگول جدا شده ولی دو رقم اعشار اضافه داریم، در دو مرحله بعدی، قسمت اعشار را نیز حذف می کنیم...!
    3- len: با استفاده از این تابع، تعداد کل کاراکترهای خروجی تابع convert را بدست می آوریم:
    کد:

    کد:
    LEN(CONVERT(VARCHAR, CAST(UnitPrice AS MONEY), 1))

    4-left: در این مرحله با کمک تابع قبلی، 3 کاراکتر اضافی سمت راست(دو رقم اعشار و یک ممیز) را حذف می کنیم، در واقع از سمت چپ به تعداد کل کاراکترها، منهای سه کاراکتر را جدا می کنیم:

    کد:

    کد:
    LEFT(CONVERT(VARCHAR, CAST(UnitPrice AS MONEY), 1), 
     * * * *LEN(CONVERT(VARCHAR, CAST(UnitPrice AS MONEY), 1)) - 3*)





    دلفی ،*جذاب ترین زبان طراحی نرم افزار ...

  2. کاربر مقابل از admin عزیز به خاطر این پست مفید تشکر کرده است:

    مجید (09 / August / 2015)

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

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