TRANSLATE (TRANSLATE)
تابع «TRANSLATE در SQL Server» کاراکترها را هم زمان جایگزین می کند. «کاراکتر (Character)» یعنی یک حرف یا نشانه. بنابراین رشته ورودی تغییر می کند و نسخه جدید برمی گردد. مثل تعویض حروف در بازی کلمات.
تعریف و کاربرد TRANSLATE
TRANSLATE رشته اول را برمی گرداند؛ اما بعد از تبدیل کاراکترهای مشخص شده. طول «characters» و «translations» باید برابر باشد؛ وگرنه خطا می دهد.
سینتکس (Syntax)
TRANSLATE(string, characters, translations);
مثال پایه: تغییر روزها
تمام حروف "Monday" به «Sunday» تبدیل می شود. خروجی Sunday است.
SELECT TRANSLATE('Monday', 'Monday', 'Sunday');
مثال بیشتر: براکت به پرانتز
براکت ها و آکولادها به پرانتزها تبدیل می شوند. عبارت خواناتر می شود.
SELECT TRANSLATE('3*[2+1]/{8-4}', '[]{}', '()()');
نکات کاربردی
- برای جایگزینی های زیاد، TRANSLATE ساده تر از REPLACE است.
- برای بریدن تکه ای متن، از SUBSTRING کمک بگیر.
- برای تمیزکردن فاصله ها، TRIM را بررسی کن.
- این تابع از SQL Server 2017 به بعد کار می کند.
گام های عملی سریع
- رشته هدف را مشخص کن.
- لیست کاراکترهای قدیم را بنویس.
- لیست کاراکترهای جدید را هم طول تنظیم کن و اجرا کن.
هشدار: طول «characters» با «translations» باید دقیقاً برابر باشد.
جمع بندی سریع
- TRANSLATE چندین جایگزینی را هم زمان انجام می دهد.
- دو فهرست باید هم طول باشند.
- برای چند حرف، از REPLACE کمتر استفاده کن.
- از 2017 به بعد در دسترس است.