خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

توابع رشته SQL: 10 مورد از مفیدترین

بیاموزید که چگونه می توانید رشته های متنی را در سرور پایگاه داده به جای برنامه اصلی خود دستکاری کنید.

نکات کلیدی

  • نکات کلیدی:
  • توابع رشته SQL توابع از پیش تعریف شده ای هستند که برای دستکاری مقادیر رشته و انجام عملیات های مختلف پایگاه داده استفاده می شوند.
  • توابع رشته ای رایج شامل CONCAT()، SUBSTRING()، LENGTH()، UPPER()، TRIM()، REPLACE()، INSTR()، RIGHT()، LEFT()، INSERT()، و REPEAT(.
  • یادگیری توابع رشته SQL برای کار با پایگاه داده های رابطه ای و دستکاری و ذخیره سازی داده ها به طور موثر ضروری است.

SQL (زبان پرس و جوی ساختاریافته) توابع داخلی زیادی دارد. برخی از مواردی که به طور گسترده مورد استفاده قرار می گیرند توابع رشته ای هستند.

رشته ها نوع داده ای هستند که برای ذخیره اطلاعات مبتنی بر کاراکتر استفاده می شود. توابع رشته SQL توابع از پیش تعریف شده هستند. می توانید از آنها برای دستکاری مقادیر رشته ها و انجام عملیات های مختلف پایگاه داده استفاده کنید.

توابع رشته ای نتایجی را که ممکن است رشته ها یا مقادیر عددی باشند را پردازش کرده و برمی گرداند. هنگام کار با SQL از توابع رشته استاندارد زیر استفاده خواهید کرد.

1. CONCAT()

CONCAT () یک تابع پرکاربرد در سرورهای SQL است. شما از آن برای اتصال دو یا چند رشته به یک رشته استفاده خواهید کرد. این تابع رشته ها را به عنوان ورودی می گیرد و آنها را به یک مقدار تک رشته ای متصل می کند. رشته ها و جداکننده را به عنوان آرگومان می پذیرد.

نحو عبارت است از:

CONCAT(str1, str2)

مثال زیر را ببینید:

SELECT CONCAT('MakeUseOf', 'website')

که مقدار “MakeUseOf website” را برمی گرداند.

دستور SELECT یکی از رایج ترین دستورات SQL است. از آن برای دسترسی به رکوردها از جداول پایگاه داده استفاده خواهید کرد.

می توانید داده های انتخاب شده را با توجه به شرایط مشخص شده در تابع بازیابی کنید. همچنین می توانید از عبارات دیگری مانند ORDER BY، WHERE، GROUP BY و غیره برای دستکاری پایگاه داده استفاده کنید.

مطلب مرتبط:   نحوه ذخیره و دسترسی به کلیدهای API در یک برنامه React

شکل دیگر تابع CONCAT() CONCAT_WS() است. این تابع رشته ها را به عنوان ورودی می گیرد و آنها را به یک رشته متصل می کند. اما بین آنها یک جداکننده قرار می دهد. جداکننده معمولاً اولین آرگومان است.

مثلا:

SELECT CONCAT_WS(',', 'MakeUseOf', 'website')

مقدار بازگشتی “MakeUseOf, website” خواهد بود.

2. SUBSTRING()

تابع ()SUBSTRING بخشی از یک رشته را که از موقعیت اعلام شده شروع می شود، برمی گرداند. به سه آرگومان رشته، شروع و طول نیاز دارد. طول اختیاری است.

نحو:

SUBSTRING(str, start, len)

موقعیت شروع از شاخص یک شروع می شود (نه شاخص صفر، مانند برخی از زبان های برنامه نویسی). طول (لن) نشان دهنده تعداد کاراکترهایی است که باید استخراج شود. طول همیشه باید یک عدد مثبت باشد.

مثلا:

SELECT SUBSTRING('abcde', 3, 2)

مقدار “cd” را برمی گرداند.

3. LENGTH()

تابع SQL LENGTH() طول رشته را نشان می دهد. رشته را به عنوان آرگومان می گیرد. نحو عبارت است از:

LENGTH(str)

به عنوان مثال، برای پیدا کردن طول نام “جونز”، تابع را به صورت زیر می نویسید:

SELECT LENGTH('Jones')

مقدار برگشتی 5 است.

4. UPPER()

این تابع تمام کاراکترهای یک رشته را به حروف بزرگ تغییر می دهد. در برخی از پایگاه های داده با نام UCASE() نیز شناخته می شود. نحو عبارت است از:

UPPER(str)

به عنوان مثال، جمله “I love SQL tutorials” را تبدیل کنید. به حروف بزرگ

SELECT UPPER('I love SQL Tutorials!')

مقدار بازگشتی “I LOVE SQL TUTORIALS!”

SQL همچنین دارای یک تابع LOWER() است. این تابع رشته ها را به حروف کوچک تبدیل می کند، برخلاف تابع ()UPPER.

5. TRIM()

تابع TRIM() فضاهای اطراف یک رشته را حذف می کند. رشته را به عنوان آرگومان می گیرد. نحو عبارت است از:

TRIM(str)

مثلا:

TRIM(' abcd ')

مقدار بازگشتی “abcd” خواهد بود.

همچنین می توانید از TRIM() برای حذف کاراکترهای دیگر از یک رشته با نحو زیر استفاده کنید:

TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)

این تابع شامل آرگومان هایی است که به مکان هایی که باید عمل کند اشاره می کند. برای مثال، BOTH هم به پیشوندها و هم به پسوندهای رشته اشاره دارد. در حالی که LEADING به ترتیب به پیشوند و TRAILING به پسوند اشاره دارد. بخشی از رشته حذف شده نیز شامل [remstr] است.

مطلب مرتبط:   نحوه خودکار کردن عملیات اصلی فایل با استفاده از جاوا

مثلا:

SELECT TRIM(LEADING 'a' FROM 'aaaaabcdaaa')

“bcdaaa” را برمی‌گرداند.

همچنین می توانید از تابع RTRIM() برای حذف کاراکترها از سمت راست رشته و LTRIM() برای حذف کاراکترها از سمت چپ استفاده کنید.

6. REPLACE()

تابع REPLACE() یک زیر رشته در یک رشته را با یک زیررشته جدید جایگزین می کند. نحو:

REPLACE(original_string, substring_to_replace, new_substring)

Original_string رشته ورودی است که می خواهید در آن جایگزینی انجام دهید. رشته substring_to_replace زیررشته ای است که در original_string جایگزین می کنید. و new_substring رشته ای است که شما در original_string قرار می دهید.

مثلا:

SELECT REPLACE('MICROHARD', 'HARD', 'SOFT')

نتیجه “MICROSOFT” خواهد بود.

7. INSTR()

از تابع INSTR() برای پیدا کردن موقعیت شروع یک زیر رشته در یک رشته استفاده کنید. این عملکرد مشابه تابع CHARINDEX() در سرورهای اوراکل است. یا تابع عمومی POSITION() مورد استفاده در پایگاه داده PostgreSQL.

نحو عبارت است از:

INSTR(string, substring [, start_position [, occurrence]])

رشته همان رشته اصلی است که می خواهید رشته فرعی را پیدا کنید. رشته فرعی همان چیزی است که شما در رشته به دنبال آن هستید. start_position (اختیاری) جایی است که شما شروع می کنید. اگر مشخص نشده باشد، جستجو از ابتدای رشته شروع می شود.

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

مثلا:

SELECT INSTR('CORPORATE FLOOR', 'OR')

نتیجه 2 خواهد بود.

8. RIGHT()

این تابع سمت راست ترین کاراکترهای رشته را برمی گرداند. این شامل رشته و طول (لن) کاراکترهایی است که باید به عنوان آرگومان برگردانده شوند.

مطلب مرتبط:   نحوه تبدیل HTML به تصویر در جاوا اسکریپت

نحو عبارت است از:

RIGHT(str, len)

مثلا:

RIGHT('abcdef', 3)

مقدار بازگشتی “def” است.

SQL همچنین دارای تابع ()LEFT است که برعکس تابع ()RIGHT را انجام می دهد. برمی گردد اولین کاراکتر سمت چپ رشته را می دهد.

نحو:

LEFT(str, len)

مثلا:

SELECT LEFT('Microsoft', 5)

نتیجه “Micro” خواهد بود.

9. INSERT()

شما می توانید از تابع INSERT() برای تغییر یک رشته با درج یک رشته جدید استفاده کنید. همچنین می توانید طول و موقعیت را برای افزودن رشته مشخص کنید، اما اینها آرگومان های اختیاری هستند. همچنین می توانید رکوردها را با استفاده از SQL در جداول پایگاه داده وارد کنید.

نحو عبارت است از:

INSERT(string, position, length, new_string)

رشته همان رشته اصلی است که می خواهید درج کنید. موقعیت جایی است که شما می خواهید رشته _ جدید را وارد کنید. طول تعداد کاراکترهایی است که باید جایگزین شوند و new_string رشته ای است که باید درج شود.

برای SQL زیر

SELECT INSERT('abcdefgh', 8, 2, 'IJKL')

نتیجه “abcdefghIJKL” است

10. REPEAT()

از تابع REPEAT() برای ضرب یک رشته بر اساس عدد دلخواه استفاده کنید. نحو عبارت است از:

REPEAT(string, number)

تابع رشته و تعداد دفعات تکرار را به عنوان آرگومان می گیرد. مثلا:

SELECT REPEAT('MUO', 3)

نتیجه “MUOMUOMUO” است.

چرا درباره توابع رشته یاد بگیریم؟

SQL توابع و عملگرهای مختلفی را برای کار با رشته ها فراهم می کند. اینها فقط رایج ترین هستند.

اگر با پایگاه داده های رابطه ای کار می کنید، یادگیری توابع رشته SQL ضروری است. دانستن این توابع به شما کمک می‌کند تا داده‌ها را به طور کارآمدی دستکاری و ذخیره کنید.

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