ПостгреСКЛ стринг стринг функције

ПостгреСКЛ је веома моћан систем објектно-релационог управљања базама података. Омогућава велики број функција и оператора за уграђене типове података чиме се програмери ослобађају једноставнијих задатака и фокусирају се на решење већег проблема. Једна таква категорија уграђених функција су ПостгреСКЛ стринг функције. Форматирање низа као што је придруживање, приказивање у одређеном формату, уметање / брисање поднаслова итд. Понекад може бити мучан задатак. ПостгреСКЛ стринг функције се брину за то уместо вас.

ПостгреСКЛ има много функција које нису дефинисане у стандардним СКЛ функцијама. То програмерима пружа огроман хоризонт функција који могу користити за решавање већег проблема.

Да бисмо илустровали различите функције ПостгреСКЛ стринга, прво морамо да направимо базу података. Следећа база података биће наведена у свим примерима:

Примери стринг функција у ПостгреСКЛ

Стринг функција је једноставна за употребу. Овде ћемо разговарати о томе како користити стринг функцију у ПостгреСКЛ

програмирање уз помоћ примера

1. АСЦИИ (стр)

Враћа АСЦИИ вредност крајњег левог карактера стр. Стр.

SELECT FirstName, ASCII(FirstName) from Person

2. БИТ_ЛЕНГТХ (стр)

Враћа дужину стр низа у битовима.

SELECT FirstName, BIT_LENGTH(FirstName) from Person

3. ЦХАР_ЛЕНГТХ (стр) / ЦХАРАЦТЕР_ЛЕНГТХ (стр)

Враћа дужину стр стр у знаковима.

SELECT FirstName, CHAR_LENGTH(FirstName) from Person

4. ЦОНЦАТ (стр1, стр2, …., Стрн)

Враћа низ формиран спајањем стр1 у стрн. НУЛЛ аргументи се игноришу.

SELECT FirstName, LastName, CONCAT(FirstName, LastName) as DisplayName from Person

5. стр1 || стр2 ||… || нон-стр ||… || стрн

Обједињује стр1, стр2 у стрн, па чак и не стрингове аргументе.

SELECT Id || FirstName || LastName || phone || address as Concat_All from Person

6. ИНИТЦАП (стр)

Велика и мала слова, тј. Прво слово сваке ријечи је великим словима, а остатак је великим словима. Речи су одређене не-алфанумеричким сепараторима.

Select INITCAP('This is a PostgreSQL example.')

7. НИЗО () и ГОРНО ()

Претвара низ у мала и велика слова.

SELECT FirstName, LOWER(FirstName) as Lower, UPPER(FirstName) as Upper from Person

8. ЛЕВО (стр, лен) / ДЕСНО (стр, лен)

Враћа крајње леве и десне лен знакове из низа стр. Кад је лен негативан, враћа стринг стр, осим за крајњи леви или десни десни знак.

SELECT FirstName, LastName, CONCAT(LEFT(LastName, 3), RIGHT(FirstName, 2)) as LoginID from Person

9. ЛЕНГТХ (стр) / ЛЕНГТХ (стр, кодирање)

Враћа дужину стр стр у знаковима. Ово је за разлику од рада функције Ленгтх у СКЛ-у. Када је специфицирано, кодирање пружа дужину одређеног кодирања.

SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName) from Person

10. ОЦТЕТ_ЛЕНГТХ (стр)

Израчунава дужину стр стр у бајтовима.

SELECT FirstName, LENGTH(FirstName), CHAR_LENGTH(FirstName), OCTET_LENGTH(FirstName) from Person

Ово је врло слично функцијама ЛЕНГТХ и ЦХАР_ЛЕНГТХ. Разлика долази када су укључени вишебајтни знакови.

SELECT '€' as multibyte_char, LENGTH('€'), CHAR_LENGTH('€'), OCTET_LENGTH('€')

То се дешава зато што знак евра (€) заузима 3 бајта у меморији.

11. ЛПАД (стр, лен, падстр) / РПАД (стр, лен, падстр)

Умеће под стринг од позиције 0 низа падстр на почетку и на крају стр стринга све док резултирајући низ не постави знакове лен.

SELECT FirstName, LastName, LPAD(CONCAT_WS(' ', FirstName, LastName), CHAR_LENGTH(CONCAT_WS(' ', FirstName, LastName))+CHAR_LENGTH('Mr. '), 'Mr. ') as DisplayName from Person

12. ЛТРИМ (стр, карактери) / РТРИМ (стр, знакови) / ТРИМ (стр, карактери)

Враћа стринг низа након што се подрежу све појаве знакова са левог, десног или оба краја. Ако карактери нису наведени у аргументима, размаци се урезавају.

SELECT LTRIM(' abc ') as L1, RTRIM(' abc ') as R1, TRIM(' abc ') as T1, LTRIM('xxxyyabcxyz', 'xyz') as L2, RTRIM('xxxyyabcxyz', 'xyz') as R2, TRIM('xxxyyabcxyz', 'xyz') as T2

13. ПОЗИЦИЈА (подстрана у стр) / СТРПОС (стр, подстр)

Проналази позицију субстрата подстје у низу стр. Запамтите, индекс почиње од 1 у ПостгреСКЛ-у. Враћа 0, ако није пронађено подударање.

SELECT Address, POSITION('Avenue' in Address) from Person

14. КУОТЕ_ИДЕНТ (стр) / КУОТЕ_ЛИТЕРАЛ (стр)

Овај упит цитира и укида низ стр. Већина специјалних ликова је удвостручена.

SELECT Address, QUOTE_IDENT(Address), QUOTE_LITERAL(Address) from Person

15. ЗАМЈЕНА (стр, од_стр, до_стр)

Замењује све појаве под-стринга фром_стр са под-стрингом то_стр у стр стринг-у. То је велика и мала слова.

SELECT Address, REPLACE(Address, 's', 'SS') from Person

16. РЕВЕРСЕ (стр)

Враћа стр. Стр.

SELECT FirstName, REVERSE(FirstName) from Person

17. РЕГЕКСП_МАТЦХЕС (стр, образац)

Враћа све подскупове који одговарају ПОСИКС Регек обрасцу.

SELECT Address, REGEXP_MATCHES(Address, '.(sN)i.') from Perso

18. РЕГЕКСП_РЕПЛАЦЕ (стр, образац, невстр)

Замјењује све подстрибуте које одговарају ПОСИКС Регек обрасцу невстр.

SELECT Address, REGEXP_MATCHES(Address, '..(e)(n)..'), REGEXP_REPLACE(Address, '..(e)(n)..', 'Street') from Person

19. РЕГЕКСП_СПЛИТ_ТО_АРРАИ (стр, образац)

Подијели стринг стр у низ потпетица одвојених ПОСИКС Регек узорком. Узорак Е '\\ с +' значи један или више празних размака.

SELECT Address, REGEXP_SPLIT_TO_ARRAY(Address, E'\\s+') from Person

20. РЕГЕКСП_СПЛИТ_ТО_ТАБЛЕ (стр, образац)

Подијели стринг стринг у табелу подскупова одвојених ПОСИКС Регек узорком.

SELECT Address, REGEXP_SPLIT_TO_TABLE(Address, E'\\s+') from Person

21. СУБСТРИНГ (стр од поз за лен)

Враћа подствор из низа стр, почевши од позиције дужине лен.

SELECT FirstName, SUBSTRING(FirstName from 2 for 4) as a sub from Person

22. СУБСТРИНГ (стр од посик_паттерн) / СУБСТРИНГ (стр из скл_паттерн за бекство)

Враћа подстрану из стринг стр који одговара ПОСИКС Регек или СКЛ Регек. Регек је велика, дивна и изузетно корисна тема у рачунару. Препоручује се посезање за Регек обрасцима пре него што их случајно имплементирате.

SELECT FirstName, SUBSTRING(FirstName from '…$') as sub1, substring(FirstName from '%#"o_a#"_%' for '#') as sub2 from Person

Закључак - ПостгреСКЛ стринг стринг функције

Дакле, да закључим, ове заједно са осталим уграђеним функцијама чине ПостгреСКЛ толико моћним. Укључивање регек образаца додаје јој више снаге. Једном када би се уметност писања Регек образаца научила и савладала, играње с базом података било би много забавно.

Препоручени чланци

Ово је водич за ПостгреСКЛ стрингове функције. Овдје смо разговарали о томе како користити стринг функције у ПостгреСКЛ програмирању уз помоћ примјера. Можете и да прођете кроз друге наше предложене чланке да бисте сазнали више -

  1. Функције низа у Јави са примерима
  2. Како инсталирати ПостгреСКЛ?
  3. ПостгреСКЛ питања за интервју
  4. Регек функције у Питхону (пример)

Категорија: