Поиск…


Конкатенация: оператор || или concat ()

Oracle SQL и PL / SQL || оператор позволяет объединить две или более строки вместе.

Пример:

Предполагая следующую таблицу customers :

 id  firstname    lastname
---  -----------  ----------
  1  Thomas       Woody

Запрос:

 SELECT firstname || ' ' || lastname || ' is in my database.' as "My Sentence" 
   FROM customers;

Выход:

My Sentence
---------------------------------
Thomas Woody is in my database.

Oracle также поддерживает стандартную функцию SQL CONCAT(str1, str2) :

Пример:

Запрос:

 SELECT CONCAT(firstname, ' is in my database.') from customers;

Выход:

Expr1
---------------------------------
Thomas is in my database.

ВЕРХНИЙ

Функция UPPER позволяет вам преобразовывать все строчные буквы в строке в верхний регистр.

SELECT UPPER('My text 123!') AS result FROM dual;

Выход:

RESULT    
------------
MY TEXT 123!

INITCAP

Функция INITCAP преобразует случай строки, так что каждое слово начинается с заглавной буквы, а все последующие буквы имеют строчный регистр.

SELECT INITCAP('HELLO mr macdonald!') AS NEW FROM dual;

Выход

NEW
-------------------
Hello Mr Macdonald!

НИЖНИЙ

LOWER преобразует все прописные буквы в строку в нижний регистр.

SELECT LOWER('HELLO World123!') text FROM dual;

Выходы:

текст
привет мир123!

Регулярное выражение

Предположим, мы хотим заменить только цифры двумя цифрами: регулярное выражение найдет их с (\d\d)

SELECT REGEXP_REPLACE ('2, 5, and 10 are numbers in this example', '(\d\d)', '#')
FROM dual;

Результаты в:

'2, 5, and # are numbers in this example'

Если я хочу поменять части текста, я использую \1 , \2 , \3 чтобы вызывать соответствующие строки:

 SELECT REGEXP_REPLACE ('swap around 10 in that one ', '(.*)(\d\d )(.*)', '\3\2\1\3')
 FROM dual;

SUBSTR

SUBSTR извлекает часть строки, указывая начальную позицию и количество символов для извлечения

SELECT SUBSTR('abcdefg',2,3) FROM DUAL;

возвращает:

bcd

Для подсчета с конца строки SUBSTR принимает отрицательное число в качестве второго параметра, например

SELECT SUBSTR('abcdefg',-4,2) FROM DUAL;

возвращает:

de

Чтобы получить последний символ в строке: SUBSTR(mystring,-1,1)

LTRIM / RTRIM

LTRIM и RTRIM удаляют символы из начала или конца строки (соответственно). Может быть поставлен набор из одного или нескольких символов (по умолчанию это пробел) для удаления.

Например,

select LTRIM('<===>HELLO<===>', '=<>')
      ,RTRIM('<===>HELLO<===>', '=<>')
from dual;

Возвращает:

HELLO<===>
<===>HELLO


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow