تابع MID
تابع MID برای بیرون کشیدن کاراکترهایی از یک فیلد متنی استفاده می شود.
نحوه استفاده:
پارامتر | توضیح |
---|---|
column_name | فیلدی است که کاراکترها از آن استخراج می شوند. (درج این پارامتر الزامی است) |
start | محل شروع را مشخص می کند. (درج این پارامتر الزامی است) |
length | تعداد کاراکترهایی را که بعد از محل شروع بر گردانده می شود را مشخص می کند. اگر خالی گذاشته شود، تابع MID بقیه فیلد متنی که بعد از محل شروع است را بر می گرداند (درج این پارامتر اختیاری است) |
مثال:
جدول Persons را در زیر داریم:
P_Id | LastName | FirstName | Address | City |
---|---|---|---|---|
1 | Hansen | Ola | Timoteivn 10 | Sandnes |
2 | Svendson | Tove | Borgvn 23 | Sandnes |
3 | Pettersen | Kari | Storgt 20 | Stavanger |
می خواهیم چهار کاراکتر اول از نام شهر را از ستون City استخراج کنیم.
از دستور زیر استفاده می کنیم:
نتیجه به شکل زیر خواهد بود:
SmallCity |
---|
Sand |
Sand |
Stav |
برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه دادهSQLServer کلیک کنید.
بجاش از دستور substring استفاده باید بشه.
آیا میشه کاری کرد که تو تابع substring برای قسمت length مقدار مشخصی وارد نکنیم یعنی خودش بقیه کاراکتر های باقی مانده رو بیاره؟
اگه قسمت length رو وارد نکنیم این خطا رو میده.
The substring function requires 3 argument(s).
بله حق با شماست...! برای تابع SubString باید سه پارامتر تنظیم شود و پارامتر آخر تعداد کاراکترهایی است که می خواهید از رشته اصلی برگردانده شود:
www.beyamooz.com/sql-server/155-function/string-functions/454-%D8%AA%D8%A7%D8%A8%D8%B9-SUBSTRING-%D8%AF%D8%B1-SQL-Server
اما برای پاسخ به سوال شما باید گفت که برای تنظیم پارمتر سوم، می توانید از تابع Len استفاده کنید:
SELECT SUBSTRING([String],Start_Position,len([string])) FROM [Table]