یکی از ملال آورترین سناریوهایی که ممکن است در کار با رشته، با آن مواجه شوید، مدیریت رشته ای است که دربردارنده ی کاراکترهای غیرمنتظره است. علتش می تواند از نحوه ی فرمت بندی رشته یا هر چیز دیگری نشات بگیرید. مثالی را در نظر بگیرید که در آن، شما درخواست یک شماره تلفن از کاربر را دارید. در پاسخ به درخواست، کاربر ممکن است رشته را با فرمت های مختلفی در اختیار شما قرار دهد. مثال: 000-000-0000، 0000000000، (000) 000-0000، 000.000.0000 . تمامی قالب های ذکر شده، فرمت های مجاز شماره تلفن در کانادا و آمریکا هستند، اما اگر همین رشته را در عملیات مورد استفاده قرار دهید، ممکن است نتیجه ی پیشبینی نشده دریافت کنید.
یک روش برای حل این مسئله، حذف کاراکترهای غیرمجاز یا ناخواسته از رشته ی مورد نظر می باشد. این عملیات می تواند جایگزینی برخی از کاراکترها با کاراکترهای دیگر باشد.
برای جایگزین کردن یک کاراکتر و یا زیر رشته ای از یک رشته، می توان تابعREPLACE() را صدا زد. دیگر این تابع، مقدار پارامتر FindString را در String جستجو می کند و تمام آنها را با مقدار ReplaceWith جایگزین می نماید.
REPLACE
(String, FindString, ReplaceWith)
RETURNS
varchar
;
از دستور Truncate برای حذف تمامی رکورد های از یک جدول استفاده می شود و فضای اختصاص داده شده به دیتاهای آن جدول را آزاد می کند.
ساختار دستور Truncate به صورت زیر می باشد :
TRUNCATE TABLE table_name;
تفاوت های دستور Truncate با دستور Delete :
تفاوت اول :
آزد سازی حافظه در هنگام حذف رکوردها .
تفاوت دوم :
بعد از دستور Delete می توان از commit یا rollback جهت اینکه تغییرات اعمل شود و یا داده های حذف شده را undo کنیم .
در هنگام استفاده از Truncate نمی توان از دستور Roll back جهت بازگرداندن تغییرات استفاده کرد