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

نام تاپیک: 9 كاركتر است قبلش يك صفر قرار دهد

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

    كدملي هايي كه 9 كاركتر است قبلش يك صفر قرار دهيم

    سلام
    1-كدملي بدون داش 10 كاركتر است من مي خواهم كدملي هايي كه 9 كاركتر است قبلش يك صفر و كدملي هايي كه 9 كاركتر است قبلش 2 صفر قرار دهد.
    مثال 9 كاركتر : 987654321 تبديل كند به 0987654321
    مثال 8 كاركتر : 87654321 تبديل كند به 0087654321

    2- بانكي دارم كه تمام شماره كارمندهايش به شكل AHB123468 , AHB123456 , AHB123466 و.. كه AHB در اولش اضافي است بردارد و تبديل كند به: 123468 , 123456 , 123466 و..

  2. #2
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    1 -

    RIGHT('00'+CodeMeli, 10)

    2-

    Cast(RIGHT(PersonnelNumber, LEN(PersonnelNumber)-3) as INT)
    اگر Net. نمی دانید وارد نشوید.

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

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    سلام
    با تشكر از دوستمان كد كامل تست شده را اينجا مي گذارم:

    -- (Tested) correct code-meli with 8 and 9 digits
    UPDATE CardTable
    SET employee_number = RIGHT('00'+employee_number, 10)
    WHERE ( LEN(LTRIM(RTRIM(employee_number))) = 8 )

    UPDATE CardTable
    SET employee_number = RIGHT('0'+employee_number, 10)
    WHERE ( LEN(LTRIM(RTRIM(employee_number))) = 9 )

    -- (Tested) Remove 'AHB' from AHB123468 , AHB123456 , AHB123466
    UPDATE CardTable
    SET employee_number =
    Cast(RIGHT(employee_number, LEN(employee_number)-3) as INT)

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

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    سلام
    مشكل حذف AHB در ابتدا كاملا حل شد ، حال اگر AHB در اول نباشد يعني به صورت wdAHB142d,abAHB14555,22weAHB يعني در هرجاي دلخواه فيلد باشد راه حل چيست؟

  5. #5
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    برای حذف از تابع replace استفاده کنید.

    replace(PerosnnelNumber, 'AHB', '')
    اگر Net. نمی دانید وارد نشوید.

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

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    نمی دونم مربوطه یا نه ولی برای اضافه کردن چی؟
    مثال:
    یه فیلد داریم که توش تاریخ به صورت رشته ذخیره شده حالا می خوایم رشته های 87/01/1 و 87/3/4 رو به این شکل در بیاریم 87/01/01 و 87/03/04

  7. #7
    VIP آواتار رضا عربلو
    تاریخ عضویت
    اردیبهشت 1403
    محل زندگی
    تهران
    پست
    1,597

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    از substring استفاده کن
    اگر Net. نمی دانید وارد نشوید.

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

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    راستش راحت تر این کارو کردم. ممنون از راهنماییتون

    UPDATE TABLE
    SET FIELD=STUFF(FIELD,4,0,'0')
    WHERE SUBSTRING(FIELD,4,2) LIKE '%/'
    GO
    UPDATE TABLE
    SET FIELD=STUFF(FIELD,7,0,'0')
    WHERE (SUBSTRING(FIELD,6,3) LIKE '/%') AND(LEN(SUBSTRING(FIELD,6,3))=2)


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

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    سلام و تشكر از دوستمان
    و اين كاملش:
    -- (Tested) Remove AHB anywhere (AHB123468 , wdAHB142d , abAHB14555 , 22weAHB)
    UPDATE CardTable
    SET employee_number = replace(employee_number, 'AHB', '')

  10. #10
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    توابع Padleft , PadRight این کار را انجام میدهد

    Create Function PadRight(@cStr as nVarchar(250),@cLen as Int,@PadStr as nVarchar(250))
    Returns nVarchar(250)
    as
    Begin
    Declare @nTime as Int,@RetVal as nVarchar(250)
    Set @nTime = @cLen - Len(@cStr)
    Set @retVal = @cStr + Space(@nTime)
    Return Replace(@retVal,' ',@PadStr)
    End

    Create Function PadLeft(@cStr as nVarchar(250),@cLen as Int,@PadStr as nVarchar(250))
    Returns nVarchar(250)
    as
    Begin
    Declare @nTime as Int,@RetVal as nVarchar(250)
    Set @nTime = @cLen - Len(@cStr)
    Set @retVal = Space(@nTime)+@cStr
    Return Replace(@retVal,' ',@PadStr)
    End


  11. #11
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    1,025

    نقل قول: 9 كاركتر است قبلش يك صفر قرار دهد

    پارامتر اول رشته مورد نظر
    کاراکتر دوم طولی که میخوای رشته بعد از اضافه شدن کاراکتر داشته باشه
    پارامتر سوم کاراکتری که میخوای به چپ یا راست رشته اضافه بشه

    Select dbo.PadLeft('987654321',10,'0')

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

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