"

نحوه استفاده از تابع ()LEFT در SQL Server,تفاوت LEFT و SUBSTRING در SQL Server,مزایای استفاده از LEFT در SQL Server

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

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

تیم تحریریه
5
0
06 مرداد 1405
لینک کوتاه

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

تابع ()LEFT یکی از پرکاربردترین توابع رشته‌ای (String Functions) در SQL Server است که برای استخراج تعداد مشخصی از کاراکترها از ابتدای یک رشته استفاده می‌شود. این تابع در بسیاری از پروژه‌های پایگاه داده، گزارش‌گیری، پاک‌سازی داده‌ها، تولید کدهای اختصاصی، فیلتر کردن اطلاعات و نمایش داده‌ها کاربرد دارد.

اگر با اطلاعات متنی مانند نام کاربران، شماره تماس، کد ملی، کد کالا یا شناسه‌های مختلف سروکار داشته باشید، احتمالاً بارها از تابع ()LEFT استفاده خواهید کرد.

تابع ()LEFT تعداد مشخصی از کاراکترهای ابتدای یک رشته را برمی‌گرداند.

به عبارت دیگر اگر بخواهید فقط چند حرف اول یک متن را استخراج کنید، بهترین گزینه استفاده از این تابع است.



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

 

ساختار تابع LEFT در SQL Server

 

LEFT(character_expression, integer_expression)

 

پارامترها

پارامتر  توضیح
character_expression  رشته یا ستون موردنظر
integer_expression  تعداد کاراکترهایی که باید از سمت چپ استخراج شوند

 

اولین مثال

فرض کنید رشته زیر را داریم:

 

SELECT LEFT('Beautiful',6)

 

خروجی

 

Beauti

 

زیرا ۶ کاراکتر اول رشته بازگردانده می‌شود.

 

مثال دوم

 

SELECT LEFT('SQL Server',3)

 

خروجی

SQL

 

مثال سوم

 

SELECT LEFT('Programming',7)

 

خروجی

 

Program






🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!











استخراج اطلاعات از جدول

فرض کنید جدول زیر را داریم.

Customers



CustomerName
Ali Ahmadi
Sara Moradi
Reza Mohammadi

 

حال می‌خواهیم فقط سه حرف اول نام هر شخص را نمایش دهیم.

 

 

SELECT

CustomerName,

LEFT(CustomerName,3)

FROM Customers

 

 

خروجی

CustomerName  خروجی
 Ali Ahmadi Ali 
Sara Moradi  Sar
Reza Mohammadi  Rez

 

استخراج پیش‌شماره تلفن

فرض کنید شماره تلفن‌ها به صورت زیر ذخیره شده‌اند.

 

09123456789

09351234567

09911234567

 

برای استخراج سه رقم اول:

 

SELECT

PhoneNumber,

LEFT(PhoneNumber,3)

FROM Users

 

خروجی

091

093

099

 

استخراج سال از تاریخ متنی

فرض کنید تاریخ‌ها به صورت متن ذخیره شده‌اند.

2026-08-15

2025-11-01

2024-03-09

می‌توان سال را استخراج کرد.

 

SELECT

LEFT(OrderDate,4)

FROM Orders

 

خروجی

 

2026

2025

2024



استفاده روی ستون‌های NVARCHAR

 

SELECT

LEFT(FirstName,2)

FROM Employees

 

اگر مقدار ستون

محمد

 

باشد خروجی

مح

 

خواهد بود.

 

استخراج کد محصول

فرض کنید کد محصولات به شکل زیر است.

 

PRD-1254

PRD-8651

PRD-9123

 

می‌خواهیم فقط بخش

PRD

را استخراج کنیم.

 

 

SELECT

LEFT(ProductCode,3)

FROM Products

 

استفاده همراه WHERE

می‌توان براساس چند حرف اول داده‌ها جستجو انجام داد.

SELECT *

FROM Customers

WHERE LEFT(CustomerName,1)='A'

 

تمام مشتریانی که نامشان با حرف A شروع شده است نمایش داده می‌شوند.

 

استفاده با LIKE

 

SELECT *

FROM Customers

WHERE LEFT(CustomerName,2)='Al'

 

استفاده همراه ORDER BY

SELECT

CustomerName

FROM Customers

ORDER BY LEFT(CustomerName,1)

 

استفاده همراه GROUP BY

فرض کنید می‌خواهیم کاربران را براساس اولین حرف نام گروه‌بندی کنیم.

 

SELECT

LEFT(CustomerName,1) AS FirstLetter,

COUNT(*)

FROM Customers

GROUP BY LEFT(CustomerName,1)

 

 

خروجی

حرف اول  تعداد
A 10
B 3
C 8

 

 

استفاده همراه DISTINCT

SELECT DISTINCT

LEFT(CustomerName,1)

FROM Customers

 

استفاده همراه CASE

 

SELECT

CustomerName,

CASE

WHEN LEFT(CustomerName,1)='A'

THEN 'Group A'

ELSE 'Other'

END

FROM Customers

 

ترکیب LEFT با LEN

فرض کنید می‌خواهیم همه رشته به جز دو حرف آخر را نمایش دهیم.

 



SELECT

LEFT(Name,LEN(Name)-2)

FROM Users

 

اگر مقدار

 

Alireza

 

باشد خروجی

 

Alir

 

است.

 

 

ترکیب LEFT با CHARINDEX

فرض کنید نام و نام خانوادگی در یک ستون ذخیره شده باشد.

 

Ali Ahmadi

برای استخراج نام:

SELECT

LEFT(FullName,

CHARINDEX(' ',FullName)-1)

FROM Users

 

خروجی

Ali

 

 

ترکیب LEFT با CONCAT

SELECT

CONCAT(LEFT(FirstName,1),'. ',LastName)

FROM Employees

 

خروجی

 

A. Ahmadi

S. Moradi

 

ترکیب LEFT با LOWER

SELECT

LOWER(LEFT(Name,5))

FROM Users



ترکیب LEFT با UPPER

 

SELECT

UPPER(LEFT(Name,4))

FROM Users

 

ترکیب LEFT با REPLACE

 

SELECT

LEFT(REPLACE(Code,'-',''),5)

 

استفاده همراه SUBSTRING

اگر بخواهید ابتدا بخشی از رشته را استخراج کنید و سپس از آن چند کاراکتر اول را بگیرید.

 

SELECT

LEFT(

SUBSTRING(Name,3,10),

5)

 

استفاده در UPDATE

فرض کنید بخواهیم فقط سه حرف اول کدها را ذخیره کنیم.

 

UPDATE Products

SET ProductCode=

LEFT(ProductCode,3)

استفاده در SELECT

 

SELECT




LEFT(Email,5)




FROM Users

 

استفاده در View

 

CREATE VIEW vw_Customers

AS

SELECT

CustomerID,

LEFT(CustomerName,5) AS ShortName

FROM Customers



استفاده در Stored Procedure

 

CREATE PROCEDURE GetUsers

AS

SELECT

LEFT(UserName,4)

FROM Users

 

استفاده در گزارش‌گیری

در گزارش‌ها معمولاً لازم است تنها بخشی از اطلاعات نمایش داده شود.

مثلاً:

 

محمدرضا احمدی

 

را به شکل

 

محمد

 

نمایش دهیم.

 

SELECT

LEFT(FullName,4)

 

تفاوت LEFT و SUBSTRING در SQL Server

LEFT  SUBSTRING
همیشه از ابتدای رشته شروع می‌شود  از هر موقعیتی قابل شروع است
ساده‌تر است  انعطاف بیشتری دارد
فقط به تعداد مشخصی از سمت چپ می‌خواند  از هر نقطه رشته استخراج می‌کند
سرعت خوانایی بالاتری دارد  برای استخراج بخش‌های میانی مناسب‌تر است






تفاوت LEFT و SUBSTRING در SQL Server



تفاوت LEFT و RIGHT در SQL Server

LEFT  RIGHT
از ابتدای رشته  از انتهای رشته
استخراج سمت چپ  استخراج سمت راست

 

مثال

 

SELECT

LEFT('ABCDEFG',3)

ABC




SELECT

RIGHT('ABCDEFG',3)



EFG



نکات مهم استفاده از LEFT در SQL Server

  • تعداد کاراکترها نباید منفی باشد.
  • اگر تعداد کاراکترها از طول رشته بیشتر باشد، کل رشته برگردانده می‌شود.
  • تابع ()LEFT روی انواع داده‌ای VARCHAR، NVARCHAR، CHAR و NCHAR قابل استفاده است.
  • برای داده‌های فارسی نیز عملکرد درستی دارد و کاراکترها را از ابتدای رشته استخراج می‌کند.
  • این تابع در گزارش‌گیری، جستجو، دسته‌بندی، پاک‌سازی داده‌ها و قالب‌بندی خروجی بسیار پرکاربرد است.

 

مزایای استفاده از LEFT در SQL Server

  • یادگیری و استفاده بسیار آسان

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

  • افزایش خوانایی کوئری‌ها

  • قابل ترکیب با اکثر توابع رشته‌ای SQL Server

  • کاربرد فراوان در گزارش‌گیری و تولید خروجی‌های سفارشی

  • مناسب برای پردازش داده‌های فارسی و انگلیسی




مزایای استفاده از LEFT در SQL Server

جمع‌بندی

تابع ()LEFT یکی از مهم‌ترین توابع رشته‌ای SQL Server است که برای استخراج تعداد مشخصی از کاراکترهای ابتدای یک رشته به کار می‌رود.
این تابع در سناریوهای مختلفی مانند استخراج پیش‌شماره تلفن، نمایش خلاصه نام‌ها، جداسازی پیشوند کد کالا، گروه‌بندی داده‌ها، گزارش‌گیری و پاک‌سازی اطلاعات استفاده می‌شود.
همچنین با ترکیب ()LEFT با توابعی مانند LEN، CHARINDEX، CONCAT، UPPER، LOWER و REPLACE می‌توان عملیات پیچیده‌تری را با کدنویسی ساده و خوانا انجام داد.
تسلط بر این تابع یکی از مهارت‌های پایه اما ضروری برای هر توسعه‌دهنده SQL Server محسوب می‌شود.

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “نحوه استفاده از تابع ()LEFT در SQL Server” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو