مقدمه

زبان SQL  زبانی برای ایجاد کویری در دیتابیس های رابطه ای است. SQL سرحروف کلمات Structured Query Language به معنای زبان پرس و جوی ساختار یافته است. تمامی دیتابیس های رابطه ای از زبان SQL پشتیبانی می کنند. نرم افزارهای متنوعی برای مدیریت دیتابیسهای رابطه ای وچود دارد؛ که معروفترین آنها Microsoft SQL Serve، Oracle، MY SQL، PostgreSQL است. در هر کدام از این نرم افزارها تغییری جزیی در زبان SQL ایجاد شده است. مثلا در Microsoft SQL Serve به آن TSQL یا Transact SQL گفته می شود.

در زبان SQL توابع زیادی پیش فرض زیادی وجود دارد. برخی از این توابع اعمالی را بر روی داده های متنی یا Text انجام می دهند. دانستن این توابع کمک زیادی به پاکسازی داده ها و فرایند ETL می کند؛ و برای افرادی که در حوزه دیتابیس و هوش تجاری فعالیت دارند؛ بسیارضروری است. در این مقاله به همراه یک فایل ویدیویی، به برخی از توابع متنی در SQL می پردازیم. برای بررسی مقالات بیستر درحوزه SQL می توانید به این لینک مراجعه کنید.

تابع LEN:

این تابع طول ستون متنی را بر میگرداند. از ترکیب این تابع و تابع های Left و Right و Charindex می توان برای جداسازی داده ها در یک ستون استفاده کرد.نحوه استفاده از این ستون به صورت زیر است.

LEN(Column)

تابع Left:

این تابع مقادیر یک ستون را از سمت چپ به تعدادی که مشخص می کنیم؛ جدا می کند. این تابع دو پارمتر ورودی دارد. پارمتر اول نام ستون و پارمتر دوم تعداد کارکتری است که از سمت چپ می شمارد و جدا میکند. نحوه استفاده از این ستون به صورت زیر است.در این مثال سه رقم سمت چپ ستون جدا می شود.

LEFT (Column,3)

تابع Right:

این تابع مقادیر یک ستون را از سمت راست به تعدادی که مشخص می کنیم؛ جدا می کند. این تابع دو پارمتر ورودی دارد. پارمتر اول نام ستون و پارمتر دوم تعداد کارکتری است که از سمت راست می شمارد و جدا میکند. نحوه استفاده از این ستون به صورت زیر است.در این مثال سه رقم سمت راست ستون جدا می شود.

Right (Column,3)

تابع Charindex:

این تابع شماره یک کاراکتر خاص در یک ستون را بر میگرداند. به عنوان مثال می خواهیم شماره کاراکتر کاما را در یک ستون بیابیم. این تابع سه پارمتر دارد .پارامتر اول کاراکتری است که میخواهیم شماره آن را پیدا کنیم. کاراکتر دوم نام ستون است. و کاراکتر سوم، که اختیاری است؛ عدد شروع است.به این معنی که برای جستجوی کارکتر مورد نظر از کاراکتر شماره چندم شروع به شمارش کند. این مورد برای مواقعی که یک کاراکتر تکرار شذه است کاربردی می باشد. به عنوان مثال فرض کنید در متن "TBR-1032-HKLMN"  به دنبال شماره خط تیره دوم (بعد از عدد 1032) هستیم؛ میتواینم از این تابع به صورت زیر استفاده کنیم.به این صورت از کاراکتر شماره 5 به دنبال خط تیره میگردد و عدد خروجی تابع 9 خواهد بود.اگر پارمتر سوم یعنی عدد 5 را در تابع قرار نمی دادیم؛ عدد 4 یعنی شماره خط تیره اول را بر میگرداند.

CHARINDEX(‘-‘,Column,5)

تابع Reverse

این تابع برای معکوس کردن یک رشته متنی استفاده می شود. ورودی این تابع نام ستون است. به عنوان مثال اگر از این تابع روی " TBR-1032-HKLMN" استفاده کنیم؛ خروجی به صورت "NMLKH-3201-TBR" خواهد بود. از ترکیب این تابع و توابع Right و LEN می توان برای جداسازی بخش آخر یک رشته متنی استفاده کرد. مثلا زمانی که بخواهیم مقدار " HKLMN" را از رشته متنی " TBR-1032-HKLMN" استخراج کنیمغ می توانیم از ترکیب توابع مذکور استفاده کنیم. 

REVERSE(Column)

در فایل ویدیویی زیر هر کدام از توابع فوق بررسی شده اند و همچنین مثالهایی از ترکیب توابع فوق برای پاکسازی داده ها بررسی شده است.همچنین فایل مورد استفاده در این ویدیو را از این لینک می توانید دانلود کنید.



پایان