تابع SUBSTRING:

این تابع، قسمتی از یک عبارت را برمی گرداند.

نحوه استفاده:

SUBSTRING ( value_expression, start_expression, length_expression)

 پارامترها:

پارامتر توضیح
value_expression

یک عبارت از نوع  character, binary, text, ntext و یا image است. (اجباری است)

start_expression

یک عبارت عددی است که محل شروع کاراکترهایی که برگشت می شوند را مشخص می کند. اگر start_expressionکوچکتر از 1 باشد عبارت برگشتی از کاراکتر اول value_expressionشروع می شود. start_expression می تواند از نوع bigint باشد. (اجباری است)

length_expression

یک عبارت عددی مثبت است که تعداد کاراکترهایی که باید برگشت شوند را مشخص می کند. اگر length_expressionمنفی باشد یک Error تولید می شود. length_expression می تواند از نوع bigint باشد. (اجباری است)

نوع داده خروجی(Return Type):

در جدول زیر، براساس نوع پارامتر value_expression، نوع داده خروجی نشان داده شده است: 

نوع پارامتر value_expression نوع داده خروجی

char/varchar/text

varchar

nchar/nvarchar/ntext

nvarchar

binary/varbinary/image

varbinary

تذکر: 

1- زمانی که start_expression یا length_expressionبا یک مقدار بزرگتر از 2147483647 تنظیم شود، value_expression باید یکی از انواع زیر باشد:

varchar(max)  یا varbinary(max) 

2- سطح Compatibility پایگاه داده در مقدار برگشتی می تواند موثر باشد. برای اطلاعات بیشتر درباره compatibility به لینک زیر مراجعه کنید:

sp_dbcmptlevel (Transact-SQL)

3- مقادیر پارامترهای start_expression و length_expression باید براساس نوع رشته ورودی تنظیم شود. مثلاً اگر رشته ورودی از نوع ntext ،char و یا varchar باشد باید تعدادی از کاراکترها در نظر گرفته شود و اگر از نوع text, image, binary و یا varbinary است باید تعدادی از بایت ها در نظر گرفته شود.


مثال1: در مثال زیر، در رشته "abcdef" از کاراکتر دوم یعنی "b" به طول 3 کاراکتر برگشت شده است:

SELECT x = SUBSTRING('abcdef', 2, 3);

نتیجه به شکل زیر خواهد بود:

x
bcd

برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServerکلیک کنید.

READ MORE