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

نام تاپیک: کد جداسازی

  1. #1

    کد جداسازی

    من یک رشته دارم که طولش مشخص نیست . مثلا 6 کاراکتر ، شاید 10 شاید 12 شاید 20

    به کمک یک قطعه کد ، به صورت 3 رقم ، 3 رقم از سمت راست جدا بشه .بجز استفاده از دستور format

  2. #2

    نقل قول: کد جداسازی

    می خواهیدبا دستورات sql جدا بشه؟ format دستور sql نیست!

  3. #3

    نقل قول: کد جداسازی

    تابع format در نسخه 2012 در T-SQL اجرا می شود.
    به هر حال راه حلی که من مدنظر دارم بر پایه این هست که شما یه حداکثر طول برای رشته خود در نظر بگیرید.
    از دو طرف می توانید اقدام به تجزیه رشته کنید راست و چپ. اگر از راست اقدام می کنید کار کمی دشوار میشود باید توسط تابع reverse رشته را برعکس کنید و زیر رشته مورد نظر را بدست آورده و مجدد آن را reverse کنید.
    از چپ مستلزم این هست که شما طول رشته را ضریبی از 3 درآورده باشید در این حالت به سادگی می توانید از چپ شروع به تجزیه رشته کنید.

    اگر نیاز به کد دقیق دارید بایستی یک Sample در اینجا ارائه دهید.
    وبلاگ من (Advanced SQL Querying)

  4. #4

    نقل قول: کد جداسازی

    این طور هم میشه نوشت:

    DECLARE @SepratedString	nvarchar(max)	
    WHILE LEN(@String) >= 3
    BEGIN
    SET @SepratedString = SUBSTRING(@String, LEN(@String)-2,3)
    SET @String = SUBSTRING(@String, 0,LEN(@String)-2)
    print @SepratedString
    CONTINUE
    END
    IF LEN(@String)<3
    SET @SepratedString = @String
    print @SepratedString

  5. #5

    نقل قول: کد جداسازی

    اگر بخواهیم ارقام با کاما از هم جدا شود چطور؟

  6. #6

    نقل قول: کد جداسازی

    --پشتیبانی تا 12 رقم
    --داده ها فرض می شود از جدول قرار هست خوانده شوند
    select replace(ltrim(replace(replace(
    reverse(stuff(stuff(stuff(t.s,4,0,','),8,0,','),12 ,0,','))
    , '~',''), ',', ' ')),' ',',') as result

    from (--مقادیر مورد نظر در زیر لیست شده اند
    values ('1'),
    ('1234567890'),
    ('1234')
    )as d(s)
    cross apply (select reverse(replicate('~',11)+d.s)) as t(s);

    /*خروجی کوئری فوق
    result
    --------------
    1
    1,234,567,890
    1,234
    */
    آخرین ویرایش به وسیله محمد سلیم آبادی : شنبه 02 آذر 1392 در 19:08 عصر
    وبلاگ من (Advanced SQL Querying)

  7. #7
    کاربر دائمی آواتار ali_abbasi22145
    تاریخ عضویت
    آذر 1382
    محل زندگی
    يك جايي در پايتخت
    پست
    1,350

    نقل قول: کد جداسازی

    سلام و تشکر از دوستمان
    من کدش یکمی تغییر دادم و خوب جواب داد
    --پشتیبانی تا 12 رقم
    --داده ها فرض می شود از جدول قرار هست خوانده شوند
    select replace(ltrim(replace(replace(
    reverse(stuff(stuff(stuff(t.s,4,0,','),8,0,','),12 ,0,','))
    , '~',''), ',', ' ')),' ',',') as result

    from ( select national_code from CardTable
    )as d(s)
    cross apply (select reverse(replicate('~',11)+d.s)) as t(s);

تاپیک های مشابه

  1. جداسازی تاریخ از فیلد تاریخ و ساعت
    نوشته شده توسط nazaninam در بخش SQL Server
    پاسخ: 8
    آخرین پست: چهارشنبه 02 خرداد 1386, 15:35 عصر
  2. جداسازی اعداد یک فیلد
    نوشته شده توسط reza850101 در بخش Access
    پاسخ: 12
    آخرین پست: شنبه 29 اردیبهشت 1386, 12:59 عصر
  3. جداسازی اتوماتیک اعداد
    نوشته شده توسط msp در بخش برنامه نویسی در Delphi
    پاسخ: 21
    آخرین پست: دوشنبه 25 دی 1385, 13:15 عصر
  4. جداسازی سه رقم سه رقم اعداد در یک ادیت باکس
    نوشته شده توسط rahami در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: دوشنبه 23 مرداد 1385, 13:51 عصر
  5. نظر شما درباره جداسازی اعلانات عمومی از تاپیکهای بخشها چیه؟
    نوشته شده توسط مهدی کرامتی در بخش گفتگو با مسئولین سایت، درخواست و پیشنهاد
    پاسخ: 18
    آخرین پست: پنج شنبه 01 آبان 1382, 12:43 عصر

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

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