نحوه استفاده از تابع ()LEFT در SQL Server
تابع ()LEFT در SQL Server برای استخراج تعداد مشخصی از کاراکترهای ابتدای یک رشته به کار میرود و برای پردازش دادههای متنی است.
نحوه استفاده از تابع ()LEFT در SQL Server
تابع ()LEFT یکی از پرکاربردترین توابع رشتهای (String Functions) در SQL Server است که برای استخراج تعداد مشخصی از کاراکترها از ابتدای یک رشته استفاده میشود. این تابع در بسیاری از پروژههای پایگاه داده، گزارشگیری، پاکسازی دادهها، تولید کدهای اختصاصی، فیلتر کردن اطلاعات و نمایش دادهها کاربرد دارد.
اگر با اطلاعات متنی مانند نام کاربران، شماره تماس، کد ملی، کد کالا یا شناسههای مختلف سروکار داشته باشید، احتمالاً بارها از تابع ()LEFT استفاده خواهید کرد.
تابع ()LEFT تعداد مشخصی از کاراکترهای ابتدای یک رشته را برمیگرداند.
به عبارت دیگر اگر بخواهید فقط چند حرف اول یک متن را استخراج کنید، بهترین گزینه استفاده از این تابع است.-function-in-SQL-Server.jpg)
ساختار تابع 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 و 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 با توابعی مانند LEN، CHARINDEX، CONCAT، UPPER، LOWER و REPLACE میتوان عملیات پیچیدهتری را با کدنویسی ساده و خوانا انجام داد.
تسلط بر این تابع یکی از مهارتهای پایه اما ضروری برای هر توسعهدهنده SQL Server محسوب میشود.



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