خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


تابع TRIM - از بین بردن فضا در SQL Server

تابع TRIM - از بین بردن فضا در SQL Server
در SQL Server 2016 یک راه حل سرراست و مناسب برای از بین بردن فضاهای ناخواسته در رشته ها وجود ندارد. البته از توابع RTRIM و LTRIM برای از بین بردن فضای خالی قبل و بعد می توان استفاده کرد ولی در SQL Server 2017 تابع TRIM به همراه سایر توابع رشته ای مانند translate و concat_ws معرفی شده است. این عملکرد جدید باعث می شود فضاها در هر دو طرف رشته در یک عمل حذف شود و کد شما را کوتاه تر و ساده تر می کند.

سیستم یکپارچۀ سازمانی راهکار



TRIM() In SQL Server 2017 And Higher

تایع Trim از SQL Server 2017 معرفی شد کما اینکه قبل از آن همانطور که گفته شد، از توابع RTRIM و LTRIM برای از بین بردن فضای خالی قبل و بعد استفاده می شد. همچنین می توان از آن برای حذف کاراکترهایی غیر از فضا(space) از ابتدا و انتهای رشته استفاده کرد.
Syntax استفاده از TRIM به فرم زیر می باشد:

TRIM([ characters FROM] string)

اگر از TRIM بدون FROM استفاده کنید، فقط TRIM فضای قبل و بعد رشته مورد نظر را حذف می کند و اگر با FROM استفاده کنید، مطابق با کاراکترهای قبل از FROM از انتهای رشته حذف می کند. اگر به مثال های زیر دقت کنیدف کاملا متوجه منظور خواهید شد.

SELECT TRIM('     My Tec Bits     ')

/* Result */
'My Tec Bits'


SELECT TRIM( '.! ' FROM  '@     My Tec Bits    !..') AS Result;

/* Result */
'@ My Tec Bits'

TRIM Equivalent In SQL Server 2016 Till 2005

در SQL Server 2016 و نسخه های قبل از آن، اگر درصدد استفاده از تابع TRIM باشید، با خطای TRIM’ is not a recognized built-in function name مواجه خواهید شد. پس در ورژن 2016 و نسخ قبل از آن فقط از توابع LTRIM و RTRIM می توانید استفاده کنید. اگر با این تواقع کدهای شما جالب نمی شوند، می توانید به فرم Function از آن استفاده کنید. لطفا به مثال زیر توجه کنید.

Create Function dbo.TRIM(@val NVARCHAR(MAX))
RETURNS NVARCHAR(MAX)
BEGIN
RETURN LTRIM(RTRIM(@val))
END
GO

حالا Function را اجرا می کنیم:

Select dbo.TRIM('     My Tec Bits     ') /* For Non-Unicode string */
Select dbo.TRIM(N'     ÃÑÉÉ     ') /* For Unicode string */

TRIM Equivalent In SQL Server 2000

در نسخه 2000 اس کیو ال سرور هم می توانید از توابع LTRIM و RTRIM استفاده کنید و می توانید Function به همین شکل فوق ایجاد کنید که فقط باید تغییری جزئی در آن دهید. در SQL Server 2000 دیتاتایپ Varchar Max وجود ندارد و به جای آن باید از 8000 استفاده کنید.

Create Function dbo.TRIM(@val VARCHAR(8000))
RETURNS VARCHAR(8000)
BEGIN
RETURN LTRIM(RTRIM(@val))
END
GO



/* Using the udf */
Select dbo.TRIM(' My Tec Bits ')


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز