Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
Posted: Wed Sep 20, 2006 4:14 pm Post subject: توابع مهم مربوط به دست كاري رشته ها در SQL
اولین مورد چسباندن رشته ها در SQL هستش
اگر از SQLServer استفاده مي كنيد مي توانید از عملگر + استفاده كنيد و اگه با oracle كار مي كنيد مي توانید از || استفاده كنيد
در ضمن مي توانید ثوابت رو هم به مقدار قابل نمایش اضافه كنيد
مثال :
use pubs
sel_ect au_lname + ' , ' + au_fname as 'name & family'
from
authors
نتیجه مي تواند مثل شکل زیر باشد
name & family
__________________
Bennet , Abraham
Blotchet-Halls , Reginald
Carson , Cheryl
DeFrance , Michel
del Castillo , Innes
Dull , Ann
....
substr
برای تقسیم یک رشته از تابع substr استفاده مي کنیم به شکل زیر :
substr(column name, string passion ,length)
اولین ورود این تابع نام فیلد، دومین و سومین ورودی عدد هستند که اولین عدد نشون می ده از کدوم کاراکتر برش رشته را شروع کند و دومین عدد نشان می دهد اندازه این برش چند کاراکتر باشد. در مثال زیر برش از کاراکتر اول شروع می شه . یعنی از اول هر رشته سه کاراکتر بر می دارد و نشان می دهد.
مثال:
sel_ect substr(Name,1,3)
و نتیجه فرضی:
ara
vah
neg
...
INSTR
برای اینکه کاراکتر رو داخل رشته پیدا كنيد از دستور INSTR استفاده می کنیم. این تابع دو ورودی دارد که اولین ورودی نام فیلد و دومین ورودی کاراکتر مورد جستجو و سومین ورودی شماره کاراکتری که می خواهیم از آنجا جستجو را انجام دهد
مثال :
Instr(name,'a',1)
sel_ect name, instr(name,'a', 1) from TBLshow
نتایج فرضی :
arash 2
vahid 1
negin 0
...
LTRIM
با این دستور می توانید کاراکترهایی را که نیاز ندارید از داخل رشته حذف کنید.فرم کلی دستور به شکل زیر است.
sel_ect LTRIM(name,'id') from TBLshow
نتایج فرضی :
arash
vah
negn
…
همون طور که می بینید عبارت negin به negn تبدیل شده.این تابع درصورتی اولین کاراکتر مشابه را پیدا کند آن را حذف می کند و به همین ترتیب کاراکتر های مشابه با ورودی دوم رو پاک می کنه تا به آخرین کاراکتر مشابه برسد.
RTRIM
همون تابع LTRIM فقط تنها تفاوت آن اینست که از سمت راست همان کار را انجام می دهد.
NVL
کار این تابع گذاشتن یک مقدار به جای مقدار NULL هستش. بدین ترتیب تمام مقادیر NULL رو به اون مقدار تبدیل می کنه. این تابع دو ورودی دارد اولی نام ستون و دومی مقداری که میخواهیم جایگزین بشود.
نکته :
البته تا اینجا همه دستورات رو بدون _ وارد كنيد. به خاطر بعضی مشکلات مجبورم کاراکتر _ رو در بین دستورات وارد کنم
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum