دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
تابع SQL Substring در sql server
1404/12/07 -
انواع متغیر ها در جاوا
1404/12/07 -
رمزنگاری پسورد در سی شارپ
1404/12/06 -
متغیرها در جاوا (Java Variables)
1404/12/06 -
دستورات Print در جاوا
1404/12/05
تابع SQL Substring در sql server
مقدمه
در بسیاری از پروژههای پایگاه داده، مخصوصاً زمانی که با دادههای متنی سروکار داریم، بارها پیش میآید که فقط به بخشی از یک رشته نیاز داریم؛ مثلا باید پیششماره یک شماره موبایل را جدا کنیم، سال را از یک تاریخ استخراج کنیم، کاراکترهای اضافی را حذف کنیم یا کد محصول را از یک متن ترکیبی بیرون بکشیم.
انجام این کارها بدون استفاده از توابع رشتهای هم زمانبر است و هم باعث پیچیده شدن کوئریها میشود.
اینجاست که تابع SQL Substring در SQL Server بهعنوان یک راهکار دقیق و حرفهای وارد عمل میشود.
این تابع یکی از مهمترین و پرکاربردترین توابع کار با رشتهها در Microsoft SQL Server است و در اغلب پروژههای واقعی، از سیستمهای فروشگاهی گرفته تا نرمافزارهای سازمانی، برای پردازش و مدیریت دادههای متنی استفاده میشود.
تابع ()SUBSTRING در SQL Server و نحوه استفاده از آن
تابع `()SUBSTRING` در SQL Server یکی از ابزارهای کلیدی برای استخراج بخشی از یک رشته متنی است.
با استفاده از این تابع میتوانید از یک موقعیت مشخص در رشته، تعداد معینی کاراکتر را جدا کرده و به عنوان خروجی دریافت کنید.
این قابلیت به ویژه زمانی مفید است که بخواهید دادههای بزرگ را به بخشهای کوچکتر تقسیم کنید یا بخش خاصی از متن را برای پردازشهای بعدی انتخاب نمایید.
ساختار کلی تابع به صورت زیر است
SUBSTRING(expression, start, length)
پارامترهای تابع SUBSTRING
-
expression: رشته اصلی که میخواهید از آن بخشی استخراج شود.
-
start: موقعیت شروع استخراج کاراکترها (عدد ۱ به معنای اولین کاراکتر است).
-
length: تعداد کاراکتری که میخواهید از موقعیت شروع استخراج شود.
مثال کاربردی
فرض کنید ستون `Name` در جدول `Employees` دارید و میخواهید فقط سه حرف اول نام هر کارمند را استخراج کنید:
SELECT SUBSTRING(Name, 1, 3) AS ShortName
FROM Employees;
در این مثال، `()SUBSTRING` سه حرف اول هر نام را برمیگرداند و به شما امکان میدهد دادهها را با دقت بیشتری مدیریت کنید.
استفاده صحیح از این تابع باعث افزایش انعطافپذیری در پردازش دادههای متنی و بهبود کارایی کوئریهای SQL شما میشود.
نحوه عملکرد تابع `()SQL `SUBSTRING
برای درک بهتر تابع `()SUBSTRING` در SQL Server، ابتدا باید بدانید که شمارش کاراکترها در SQL از عدد ۱ شروع میشود، نه صفر.
این نکته مهم باعث میشود موقعیت شروع استخراج رشته را به درستی تعیین کنید.
مراحل عملکرد تابع به شکل ساده عبارتاند از:
1. تعیین رشته اصلی
انتخاب متنی که میخواهید بخشی از آن استخراج شود.
2. مشخص کردن موقعیت شروع
تعیین محل آغاز استخراج کاراکترها.
3. تعیین تعداد کاراکتر
تعداد کاراکتری که باید از رشته استخراج شود.
4. بازگرداندن خروجی
ارائه بخشی از رشته به عنوان نتیجه کوئری.
این روند ساده باعث میشود بتوانید دادههای متنی را به صورت دقیق و کارآمد مدیریت کنید.
مثال عملی استفاده از SUBSTRING
فرض کنید میخواهیم از رشته `'Programming'` تنها ۶ کاراکتر اول را استخراج کنیم:
SELECT SUBSTRING('Programming', 1, 6) AS Result;
خروجی
Progra
در این مثال، تابع از کاراکتر اول شروع کرده و شش کاراکتر بعدی را برگردانده است.
این قابلیت به ویژه در پروژههای واقعی و هنگام پردازش دادههای متنی بسیار کاربردی است.
-SQL.jpg)
چرا باید از تابع `()SQL `SUBSTRING استفاده کنیم؟
در پروژههای واقعی، مدیریت دادههای متنی نقش حیاتی دارد.
بدون استفاده از توابع رشتهای، پردازش اطلاعات پیچیده، طولانی و مستعد خطا میشود.
مهمترین دلایل استفاده از تابع `()SUBSTRING` عبارتاند از:
-
استخراج بخش خاصی از کدها یا شناسههای ترکیبی
-
جداسازی اطلاعات از ستونهای متنی طولانی
-
پردازش دادههای ورودی کاربران برای تحلیل یا اعتبارسنجی
-
تمیز کردن دادهها (Data Cleaning) قبل از تحلیل یا گزارشگیری
-
آمادهسازی دادهها برای گزارشهای مدیریتی و داشبوردها
-
افزایش خوانایی و سادهسازی کوئریها
با استفاده هوشمندانه از این تابع، میتوانید دادههای متنی را به شکل دقیق و سریع پردازش کرده و کیفیت گزارشها و تحلیلهای خود را بهبود دهید
مثالهای کاربردی و واقعی تابع `()SQL `SUBSTRING
در این بخش، به بررسی مثالهای عملی و واقعی از پروژههای SQL میپردازیم تا نحوه استفاده از تابع `()SUBSTRING` را در موقعیتهای روزمره و دنیای واقعی ببینید.
1. استخراج کد کشور از شماره موبایل
فرض کنید شماره موبایلها به شکل زیر در دیتابیس ذخیره شدهاند:
2026-05-15
برای استخراج کد کشور میتوان از `()SUBSTRING` استفاده کرد:
SELECT SUBSTRING('989123456789', 1, 2) AS CountryCode;
خروجی:
98
در این مثال، تابع از کاراکتر اول شروع کرده و دو رقم اول شماره را استخراج میکند، که معمولاً کد کشور است.
این روش به خصوص در پروژههای پردازش شمارههای بینالمللی کاربرد زیادی دارد.
2. استخراج سال از تاریخ
اگر تاریخها به صورت رشته متنی ذخیره شده باشند، میتوان سال را به راحتی استخراج کرد. به عنوان مثال:
2026-05-15
کد SQL:
SELECT SUBSTRING('2026-05-15', 1, 4) AS Year;
خروجی:
2026
این روش به خصوص در گزارشگیری و تحلیل دادههای تاریخی کاربرد دارد و به شما اجازه میدهد سال را بدون تغییر کل رشته تاریخ استخراج کنید.
3. استخراج دامنه ایمیل
گاهی لازم است فقط دامنه ایمیل استخراج شود، نه نام کاربری. فرض کنید ایمیل به شکل زیر است:
info@example.com
با ترکیب توابع `()CHARINDEX` و `()SUBSTRING` میتوان دامنه را جدا کرد:
SELECT
SUBSTRING(
'info@example.com',
CHARINDEX('@','info@example.com') + 1,
LEN('info@example.com')
) AS Domain;
خروجی:
example.com
این روش در پروژههای ارسال ایمیل انبوه، تحلیل دادههای کاربران یا اعتبارسنجی ایمیل بسیار مفید است.
🌟 آیا میخواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما میتوانید به راحتی و با روشی عملی، تمام مهارتهای لازم را یاد بگیرید!
این دوره به شما آموزش میدهد که چگونه دادهها را به بهترین شکل مدیریت کنید، گزارشهای قدرتمند بسازید و به تحلیلهای عمیق دست یابید.
با محتوای جذاب و پروژههای واقعی، شما نه تنها تئوری را یاد میگیرید، بلکه تواناییهای عملی خود را نیز تقویت میکنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشنتر بردارید!
⇐همین حالا شروع کنید و به دنیای دادهها بپیوندید!
کاربرد تابع `SUBSTRING` در پروژههای واقعی با SQL Server
تابع `SUBSTRING` یکی از ابزارهای پرکاربرد در Microsoft SQL Server است که در پروژههای سازمانی و تجاری نقش حیاتی دارد.
این تابع به شما امکان میدهد بخشی از یک رشته را استخراج کرده و برای پردازشهای مختلف استفاده کنید.
کاربردهای عملی تابع `SUBSTRING`:
سیستمهای مالی
استخراج شماره سند یا کدهای حسابداری از رشتههای ترکیبی.
CRM و مدیریت مشتریان
جداسازی کد مشتری یا بخشهای مشخص اطلاعات مشتریان.
فروشگاههای اینترنتی و تجارت الکترونیک
تفکیک SKU، کد محصولات و دستهبندیها.
سیستمهای احراز هویت
پردازش توکنها یا بخشی از اطلاعات ورود کاربران.
تولید گزارشهای سفارشی
استخراج دادههای دقیق برای گزارشدهی و تحلیلهای مدیریتی.
استفاده درست از تابع `SUBSTRING` باعث میشود مدیریت دادهها سادهتر، پردازش سریعتر و گزارشگیری دقیقتر شود.

نکات مهم برای استفاده بهینه از تابع SQL Substring
در پروژههای بزرگ، رعایت نکات بهینهسازی بسیار مهم است.
استفاده اشتباه از توابع رشتهای میتواند باعث کاهش سرعت شود.
-
روی ستونهای ایندکسشده در WHERE استفاده نکنید (باعث Full Scan میشود)
-
در صورت امکان از محاسبه در SELECT استفاده کنید نه در شرط
-
طول رشته را قبل از استخراج بررسی کنید
-
با دادههای NULL دقت کنید
-
در کوئریهای سنگین از Persisted Computed Column استفاده کنید
مدیریت خطا در تابع `SUBSTRING`
در SQL Server، اگر مقدار `start` بزرگتر از طول رشته باشد، تابع `SUBSTRING` خطا تولید نمیکند و صرفاً خروجی خالی برمیگرداند.
اما در صورتی که مقدار `length` منفی باشد، اجرای کوئری باعث خطا خواهد شد.
مثال خطا:
SELECT SUBSTRING('Test', 1, -1);
این کوئری به دلیل طول منفی، خطا ایجاد میکند.
پرسشهای تابع SQL Substring درsql server
1. آیا شمارش کاراکترها از صفر شروع میشود؟
خیر. در SQL Server شمارش از عدد 1 شروع میشود.
2. اگر مقدار طول بیشتر از رشته باشد چه میشود؟
SQL Server تا انتهای رشته را برمیگرداند و خطا نمیدهد.

نتیجهگیری
تابع `SUBSTRING` در SQL Server یکی از کلیدیترین ابزارها برای کار با دادههای متنی محسوب میشود و تسلط بر آن میتواند پردازش رشتهها و استخراج اطلاعات دقیق از دادهها را به شکل چشمگیری سادهتر کند.
درک نحوه عملکرد این تابع، مقایسه آن با توابع مشابه مانند `LEFT` و `RIGHT`، آشنایی با مثالهای عملی و رعایت نکات بهینهسازی و مدیریت خطا، توانایی شما در طراحی کوئریهای حرفهای را افزایش میدهد.
تمرین مستمر و کار با دادههای واقعی بهترین راه برای تقویت مهارتهای SQL و استفاده بهینه از `SUBSTRING` در پروژههای واقعی است.
دوره های مرتبط
آموزش پایگاه داده SqlServer
پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .








