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

نام تاپیک: تابع Replace

  1. #1

    Thumbs down تابع Replace

    میخام در این متن فقط عدد آخر آن را بدست آورم man_150 برای این کار میخوام بگم هر چیزی که قبل از _ هست رو پاک کن تا عدد 150 بدست بیاد

    کسی می دونه چی باید بنویسم .............................. مرسی

  2. #2
    این کارو با SQL میخای بکنی !!!!
    این کار با Regex انجام میشه ! و توصیه میکنم از زبان های برنامه نویسی کمک بگیر
    #C و...

    موفق باشید

  3. #3
    اگر جای _ همیشه ثابته (یعنی مثلا کاراکتر چهارم)، میتونین بوسیله SUBSTRING براحتی اینکار رو انجام بدین. اگر _ جاهای متفاوت ممکنه قرار بگیره، به کمک CHARINDEX موقعیتش رو بدست بیارین و بعد از SUBSTRING استفاده کنین

  4. #4

    مشکل ادامه داره

    نه مشکل اینه که نمیدونم _ ممکنه کجا باشه
    این Query رو نوشتم ولی جواب نمیده
    Declare @Str nvarchar(100)
    Select @Str = '180/412545_22'
    Select @Str = Replace(@Str,'%[_]','')
    Select @Str

  5. #5
    کاربر تازه وارد
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    91
    نقل قول نوشته شده توسط niksoft مشاهده تاپیک
    نه مشکل اینه که نمیدونم _ ممکنه کجا باشه
    این Query رو نوشتم ولی جواب نمیده
    Declare @Str nvarchar(100)
    Select @Str = '180/412545_22'
    Select @Str = Replace(@Str,'%[_]','')
    Select @Str
    دوست عزیز شما باید از کواری مانند کواری زیر استفاده کنید:


    selectsubstring('man_150',Charindex('_','man_150')+1,len('man_150')-Charindex('_','man_150'))


    حال در این کواری,به جای عبارت 'man_150' باید نام فیلد را بگذارید مانند کواری زیر:

    selectsubstring(FieldName,Charindex('_',FieldName)+1,len(FieldName)-Charindex('_',FieldName))
    From TableName
    و اگر از این کواری در استوردپراسیجر استفاده میکنید و لازم دارید که از عبارت Charindex('_',FieldName) چندین بار و در جاهای مختلفی از مقدار آن استفاده کنید, توصیه میکنم که مقدار ان را یکبار و در یک متغیر نگه دارید تا از کار اضافی توسط اسکیوال جلوگیری شود,چون استفاده از توابع مربوط به String بر روی داده های از نوع String زمانبر میباشد چیزی شبیه به کواری زیر :

    DECLARE @Index TINYINT
    SELECT @Index=CHARINDEX('_','man_150')
    SELECTSUBSTRING('man_150',@Index+1,len('man_150')-@Index)


    امیدوارم که تونسته باشم کمکتون کنم
    موفق باشید

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

  1. یک مشکل : دستور Replace در Sql
    نوشته شده توسط Sabeghi در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 7
    آخرین پست: یک شنبه 21 آبان 1385, 23:03 عصر
  2. Replace کردن یک رشته درون خود فایل
    نوشته شده توسط Maryam80 در بخش برنامه نویسی در Delphi
    پاسخ: 2
    آخرین پست: پنج شنبه 18 خرداد 1385, 07:30 صبح
  3. Search and Replace
    نوشته شده توسط رحمانیان در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: جمعه 01 فروردین 1382, 21:11 عصر

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

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