نحوه استفاده از تابع () LEFT در SQL

نحوه استفاده از تابع () LEFT در SQL

نوشته شده توسط: تیم فنی نیک آموز
۲۶ آبان ۱۴۰۰
زمان مطالعه: 16 دقیقه
۱
(۱)

نحوه استفاده از تابع () LEFT در SQL

در بسیاری از موارد ما در پرس ‌و جوها احتیاج داریم تا بر روی کاراکترها عملیات انجام بدهیم. نرم‌افزار SQL خیلی از این توابع را در داخل خودش به‌صورت آماده دارد. یکی از این توابع آماده تابع () LEFT است. این تابع تعداد رشته ‌ای که مشخص می‌ کنیم را از سمت چپ در اختیار می ‌گذارد. با چند مثال این تابع را توضیح می ‌دهیم.

دوره کوئری نویسی نیک آموز
در کوئری زیر می‌ خواهیم ۴ کاراکتر اول SAVE THE GREEN را بوسیله تابع () LEFT جدا کنیم.

SELECT LEFT(‘SAVE THE GREEN’,۴) AS Result

نحوه استفاده از تابع () LEFT در SQLهمان‌طور که مشاهده می‌کنید برای این کار در داخل تابع () LEFT ابتدا عبارت مدنظر را داخل تک کوتیشن (‘) قرار می ‌دهیم و بعد از کاما (,) تعداد کلمه ‌ای که می ‌خواهیم از سمت چپ عبارت نمایش داده شود را درج می‌ کنیم. در نهایت در خروجی ۴ کلمه عبارت یعنی save نمایش داده می‌ شود.نحوه استفاده از تابع () LEFT در SQLبه‌ طورکلی دستور استفاده از تابع () LEFT به صورت زیر است.

Left(String , Number Of Characters)

String: رشته ای که می خواهید عبارتی را از داخل آن خارج کنید.
Number Of Characters: تعداد کاراکتری که می خواهید از سمت چپ در خروجی نمایش داده شود. توجه داشته باشید که از عدد منفی استفاده نکنید چون با خطا مواجه خواهید شد. اگر مقدار این متغیر از طول کل رشته بزرگتر باشد مشکلی پیش نمی آید و کل رشته در خروجی نمایش داده می‌ شود.
خروجی این تابع اگر نوع داده خاصی نباشد (non-Unicode) باشد از نوع Varchar و در غیر این صورت از نوع Nvarchar می باشد.

نحوه استفاده از تابع () LEFT در جدول و برروی ستون ها

برای استخراج چند حرف ابتدایی از سمت چپ در داخل یک ستون مانند زیر عمل می ‌کنیم.

SELECT FirstName,LEFT(FirstName,3) AS NickName
FROM Person.Person

نحوه استفاده از تابع () LEFT در جدول و برروی ستون هادر دستور بالا ستون FirstName ابتدا بدون تغییر نمایش داده می ‌شود و سپس همان ستون با تغییر نام NickName ، ۳ کاراکتر ابتدایی هرکدامم از کاراکترهای ستون FirstName را نمایش می دهد.

نحوه کار با تابع () LEFT با استفاده از متغیرها

از متغیرهای محلی برای ذخیره‌سازی یک عبارت استفاده می‌شود. به مثال زیر دقت کنید.

DECLARE @Txt AS VARCHAR(100)
SET @Txt = 'Save Water Save Life'
SELECT LEFT('Save Water Save Life',4) AS Result

نحوه کار با تابع () LEFT با استفاده از متغیرهایا مثلاً در عبارت زیر داده را در یک متغیر موقت می ‌ریزیم.

DECLARE @Txt AS VARCHAR(100)
DECLARE @UnicodeTxt NCHAR(100)
SET @Txt = 'Save Water Save Life'
SET @UnicodeTxt= N'Green Earth'
SELECT LEFT('Save Water Save Life',4) AS Result,
LEFT(@UnicodeTxt,5) AS ResultUnicode INTO
#TempList
SELECT * FROM #TempList

نحوه کار با تابع () LEFT با استفاده از متغیرهادر این مثال این تابع را با هردونوع Unicode و non-Unicode امتحان کردیم و نتیجه را در خروجی نمایش داده ‌ایم. می‌ توانیم برای دیدن نوع داده خروجی از قسمت INFORMATION_SCHEMA.COLUMNS استفاده کنیم.نحوه کار با تابع () LEFT با استفاده از متغیرها

قدرت و کارایی تابع () LEFT

با استفاده از شاخص گذاری سرعت SQL افزایش پیدا می کند اما در برخی موارد با اشتباه به کار بردن از دستورات مانند دستور Where ایندکس گذاری دچار اشتباه می ‌شود و سرعت و کارایی پایین می آید. به مثال زیر توجه کنید.

SELECT FirstName,LEFT(FirstName,3) AS NickName
FROM Person.Person
WHERE LEFT(FirstName,3)='Kim

در قسمت اول داده را بر اساس شاخص‌ ها به‌سرعت فیلتر می ‌کند اما در قسمت دوم دستور Where باعث کاهش سرعت شده و روش کارآمدی برای این منظور نیست.قدرت و کارایی تابع () LEFTنکته قابل‌ توجه دیگر این است که تابع () LEFT به Substring تبدیل می ‌شود.قدرت و کارایی تابع () LEFT

SELECT FirstName,LEFT(FirstName,3) AS NickName
FROM Person.Person
WHERE 'Kim%'

مشاهده می کنید که زمان شاخص گذاری بهینه تر شده است.قدرت و کارایی تابع () LEFTایندکس‌گذاری را انجام می ‌دهیم و کوئری را مجدداً اجرا می‌ کنیم.

CREATE NONCLUSTERED INDEX [NewTestIndex_FirstName]
ON [Person].[Person] ([FirstName])

با استفاده از ایندکس گذاری به روش B_tree کارایی کوئری بالاتر می رود.قدرت و کارایی تابع () LEFT

نتیجه‌ گیری

تابع () LEFT به استخراج کاراکترها از سمت چپ یک رشته کمک می ‌کنند.

چه رتبه ای می‌دهید؟

میانگین ۱ / ۵. از مجموع ۱

اولین نفر باش

title sign
دانلود مقاله
نحوه استفاده از تابع () LEFT در SQL
فرمت PDF
6 صفحه
حجم 1 مگابایت
دانلود مقاله
title sign
معرفی نویسنده
تیم فنی نیک آموز
مقالات
237 مقاله توسط این نویسنده
محصولات
0 دوره توسط این نویسنده
تیم فنی نیک آموز
پروفایل نویسنده
title sign
دیدگاه کاربران

ثبت نام رایگان در همایش Tehran .NET Conf 2023 ، همین الان کلیک کنید
ثبت نام رایگان..
close-image