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


اضافه کردن کاراکتر به یک رشته در SQL Server

اضافه کردن کاراکتر به یک رشته در SQL Server
اگر از نرم افزارهایی مانند اوراکل و یا My SQL استفاده می کنید، توابعی مانند RPAD و LPAD را دارید که به شما امکان می دهد که در سمت چپ یا راست یک رشته، کاراکترهایی را اضافه کنید. در SQL Server این توابع را ندارید و برای اینکار، نیاز به اقدامات دیگری دارید. به عنوان مثال عدد 7 را در نظر بگیرید و حالا می خواهید آن را بصورت 007 نمایش دهید. در این پست روش های مختلفی را برای رسیدن به این مهم انجام می دهیم.

نرم افزار سامانه مودیان راهکار



Use the RIGHT() Function

در گام نخست از تابع RIGHT استفاده می کنیم که سمت راست رشته را پس از افزودن صفر های مورد نظر بر میگرداند. لطفا به مثال زیر دقت کنید:

SELECT RIGHT('000' + '1234', 7);

0001234

7 مشخص می کند که نتیجه نهایی (بعد از اضافه شدن صفرها) باید چند کاراکتر باشد.

Reducing the Length

اگر عدد 7 را کاهش دهید و مثلا عدد 6 قرار دهید، حتی اگر کوئری فوق را به همین صورت اجرا کنیدف باز هم طول رشته از 6 تجاوز نمی کند و فقط به تعدادی از 0 استفاده می کند تا طول رشته به 6 کاراکتر برسد:

اضافه کردن کاراکتر به یک رشته در SQL Server
حتی اگر 000 را به 00 تغییر دهید، نتیجه همان خواهد شد.

Increasing the Length

اما اگر بخواهید طول رشته را افزایش دهید، باید اطمینان حاصل کنید که به تعداد کافی 0 به تابع پاس داده باشید.

SELECT RIGHT('000000' + '1234', 10);

0000001234

در غیر این صورت ما به این نتیجه می رسیم:

SELECT RIGHT('000' + '1234', 10);

0001234

Cutting the Number Short

همچنین توجه داشته باشید که اگر برای طول رشته خروجی، طول مناسب را درج نکنید، نتیجه درستی در خروجی دریافت نخواهید کرد و طول رشته خروجی به اندازه مقداری است که به تابع پاس داده اید. در نظر داشته باشید که از تابع RIGHT استفاده می کنید و از سمت راست کاراکترها نمایش داده می شوند. لطفا به مثال زیر توجه کنید:

SELECT RIGHT('000' + '1234', 2);

34

Use a Combination of RIGHT() and REPLICATE()

این روش تقریباً همان روش قبلی است ، با این تفاوت که فقط سه صفر را با تابع REPLICATE جایگزین می کنیم:

SELECT RIGHT(REPLICATE('0', 3) + '1234', 7);

0001234

تابع REPLICATE مانع از درج چندباره 0 یا هر کاراکتر دیگری به عنوان پارامتر ورودی می شود.

Use a Combination of REPLACE() and STR()

این روش از زاویه کاملا متفاوتی نسبت به روشهای قبلی به موضوع نگاه می کند:

SELECT REPLACE(STR('1234', 6),' ','0');

001234

در اینجا ما از تابع REPLACE در رابطه با تابع STR برای تبدیل یک عدد به رشته ای با طول خاص استفاده می کنیم، سپس هر کاراکتر Space را به صفر تبدیل می کنیم.
در مثال های بالا، اگر طول رشته خروجی را کوتاه وارد می کردیم، خروجی یک مقدار کوتاه و متناسب با همان مقداری که به تابع پاس داده شده بود، نمایش داده می شود ولی در اینجا اگر اینکار را کنید، * نمایش داده می شود. لطفا به مثال زیر دقت کنید:

SELECT REPLACE(STR('1234', 2),' ','0');

**

اضافه کردن کاراکتر به یک رشته در SQL Server

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

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

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


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