خانه SQL Server نحوه استفاده از تابع () LEFT در SQL SQL Server نوشته شده توسط: تیم فنی نیک آموز ۲۶ آبان ۱۴۰۰ زمان مطالعه: 16 دقیقه ۱ (۱) نحوه استفاده از تابع () LEFT در SQL در بسیاری از موارد ما در پرس و جوها احتیاج داریم تا بر روی کاراکترها عملیات انجام بدهیم. نرمافزار SQL خیلی از این توابع را در داخل خودش بهصورت آماده دارد. یکی از این توابع آماده تابع () LEFT است. این تابع تعداد رشته ای که مشخص می کنیم را از سمت چپ در اختیار می گذارد. با چند مثال این تابع را توضیح می دهیم. در کوئری زیر می خواهیم ۴ کاراکتر اول “SAVE THE GREEN” را بوسیله تابع () LEFT جدا کنیم. SELECT LEFT(‘SAVE THE GREEN’,۴) AS Result همانطور که مشاهده میکنید برای این کار در داخل تابع () LEFT ابتدا عبارت مدنظر را داخل تک کوتیشن (‘) قرار می دهیم و بعد از کاما (,) تعداد کلمه ای که می خواهیم از سمت چپ عبارت نمایش داده شود را درج می کنیم. در نهایت در خروجی ۴ کلمه عبارت یعنی save نمایش داده می شود.به طورکلی دستور استفاده از تابع () 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 در دستور بالا ستون FirstName ابتدا بدون تغییر نمایش داده می شود و سپس همان ستون با تغییر نام NickName ، ۳ کاراکتر ابتدایی هرکدامم از کاراکترهای ستون FirstName را نمایش می دهد. نحوه کار با تابع () LEFT با استفاده از متغیرها از متغیرهای محلی برای ذخیرهسازی یک عبارت استفاده میشود. به مثال زیر دقت کنید. DECLARE @Txt AS VARCHAR(100) SET @Txt = 'Save Water Save Life' SELECT LEFT('Save Water Save Life',4) AS Result یا مثلاً در عبارت زیر داده را در یک متغیر موقت می ریزیم. 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 در این مثال این تابع را با هردونوع Unicode و non-Unicode امتحان کردیم و نتیجه را در خروجی نمایش داده ایم. می توانیم برای دیدن نوع داده خروجی از قسمت INFORMATION_SCHEMA.COLUMNS استفاده کنیم. قدرت و کارایی تابع () LEFT با استفاده از شاخص گذاری سرعت SQL افزایش پیدا می کند اما در برخی موارد با اشتباه به کار بردن از دستورات مانند دستور Where ایندکس گذاری دچار اشتباه می شود و سرعت و کارایی پایین می آید. به مثال زیر توجه کنید. SELECT FirstName,LEFT(FirstName,3) AS NickName FROM Person.Person WHERE LEFT(FirstName,3)='Kim در قسمت اول داده را بر اساس شاخص ها بهسرعت فیلتر می کند اما در قسمت دوم دستور Where باعث کاهش سرعت شده و روش کارآمدی برای این منظور نیست.نکته قابل توجه دیگر این است که تابع () LEFT به Substring تبدیل می شود. SELECT FirstName,LEFT(FirstName,3) AS NickName FROM Person.Person WHERE 'Kim%' مشاهده می کنید که زمان شاخص گذاری بهینه تر شده است.ایندکسگذاری را انجام می دهیم و کوئری را مجدداً اجرا می کنیم. CREATE NONCLUSTERED INDEX [NewTestIndex_FirstName] ON [Person].[Person] ([FirstName]) با استفاده از ایندکس گذاری به روش B_tree کارایی کوئری بالاتر می رود. نتیجه گیری تابع () LEFT به استخراج کاراکترها از سمت چپ یک رشته کمک می کنند. چه رتبه ای میدهید؟ میانگین ۱ / ۵. از مجموع ۱ اولین نفر باش برچسب ها # server# sql# SQL Server# آموزش توابع در SQL Server# آموزش دستورات SQL Server# تابع LEFT()# تابع LEFT() در SQL# نحوه استفاده از تابع LEFT() در SQL معرفی نویسنده مقالات 172 مقاله توسط این نویسنده محصولات 0 دوره توسط این نویسنده تیم فنی نیک آموز پروفایل نویسنده معرفی محصول مهدی شیشه بری دوره آموزش کوئری نویسی در SQL Server 1.000.000 تومان مقالات مرتبط ۱۰ اردیبهشت SQL Server استفاده از Credential و Proxy در SQL Server Agent حسن سلیمانی ۰۷ اردیبهشت SQL Server استفاده از Operator ها در SQL Server Agent حسن سلیمانی ۰۵ اردیبهشت SQL Server بررسی نحوه ایجاد Job در SQL Server حسن سلیمانی ۲۹ فروردین SQL Server آشنایی با بخش های مختلف SQL Server Agent حسن سلیمانی دیدگاه کاربران لغو پاسخ دیدگاه نام و نام خانوادگی ایمیل ذخیره نام، ایمیل و وبسایت من در مرورگر برای زمانی که دوباره دیدگاهی مینویسم. موبایل برای اطلاع از پاسخ لطفاً مرا با خبر کن ثبت دیدگاه Δ