Функции обработки строк
SQL предоставляет вам широкий набор функций для манипулирования со строковыми данными (конкатенация строк, CHR, LENGTH, INSTR и другие). Список основных функций для обработки строковых данных приведен в таблице 8.3.
| CHR(N) | Возвращает символ ASCII кода для десятичного кода N | 
| ASCII(S) | Возвращает десятичный ASCII код первого символа строки | 
| INSTR(S2.S1.pos[,N] | Возвращает позицию строки S1 в строке S2 большую или равную pos.N - число вхождений | 
| LENGHT(S) | Возвращает длину строки | 
| LOWER(S) | Заменяет все символы строки на прописные символы | 
| INITCAP(S) | Устанавливает первый символ каждого слова в строке на заглавный, а остальные символы каждого слова - на прописные | 
| SUBSTR(S,pos,[,len]) | Выделяетв строке S подстроку длиной len, начиная с позиции pos | 
| UPPER(S) | Преобразует прописные букцвы в строке на заглавные буквы | 
| LPAD(S,N[,A]) | Возвращает строку S, дополненную слева симолами A до числа символов N. Символ - наполнитель по умолчанию - пробел | 
| Rpad(S,N[,A]) | Возвращает строку S, дополненную справа симолами A до числа символов N. Символ - наполнитель по умолчанию - пробел | 
| LTRIM(S,[S1]) | Возвращает усеченную слева строку S. Символы удаляются до тех пор, пока удаляемый символ входит в строку - шаблон S1 (по умолчанию - пробел) | 
| RTRIM(S,[S1]) | Возвращает усеченную справа строку S. Символы удаляются до тех пор, пока удаляемый символ входит в строку - шаблон S1 (по умолчанию - пробел | 
| TRANSLATE(S,S1,S2) | Возвращает строку S, в которой все вхождения строки S1 замещены строкой S2. Если S1 <> S2, то символы, которым нет соответствия, исключаются из результирующей строки | 
| REPLACE(S,S1,[,S2]) | Возвращает строку S, для которой все вхождения строки S1 замещены на подстроку S2. Если S2 не указано, то все вхождения подстроки S1 удаляются из результирующей строки | 
| NVL(X,Y) | Если Х есть NULL, то возвращает в Y либо строку, либо число, либо дату в зависимости от исходного типа Y | 
Названия одних и тех же функций могут отличаться в различных СУБД.
Так, например, функция СУБД Oracle SUBSTR(S, pos, [, len]) в СУБД SQLBase называется @SUBSTRING(S, pos, len).  В СУБД SQLBase имеются функции, которых нет в СУБД Oracle (см. таблицу ниже, где приведен список таких функций).
| @EXACT(S1,S2) | Возвращает результат сравнения двух строк | 
| @LEFT(S,len) | Возвращает левую подстроку длиной len | 
| LENGTH(S) | Возвращает длину строки | 
| @MID(S, pos, len) | Возвращает подстроку указанной длины, начиная с позиции pos | 
| @REPEAT(S,n) | Повторяет строку S n раз | 
| @REPLACE(S1,pos,len,S2) | Замещает с позиции pos len символов в строке S2 символами строки S1 | 
| RIGHT(S,len) | Возвращает правую подстроку S длиной len | 
| @SCAN(S,pat) | Возвращает позицию подстроки pat в строке S | 
| @STRING(X,scale) | Возвращает символьное представление числа с указанным масштабом scale | 
| @TRIM(S) | Удаляет пробелы в строке справа и слева | 
| @VALUE(S) | Преобразует символьное представление числа в числовое значение | 
SELECT INITCAP(ENAME) FROM EMPLOYEE ORDER BY DEPNO;
