Вычисление криволинейного интеграла
Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Основные понятия и способы применения SQL - в примерах и задачах

SQL язык запросов к реляционным базам данных Учебник

 Строковые функции

• LPAD — дополнение строки слева LPAD (<строка>,<длина>[,<подстрока>])

• <строка> дополняется слева заданной в <подстроке> по­ следовательностью символов до указанной <длины> (воз­ можно, с повторением последовательности);

если <подстрока> не указана, то по умолчанию <строка> дополняется пробелами;

если <длина> меньше длины <строки>, то исходная <строка> усекается слева до заданной <длины>.

• RPAD — дополнение строки справа RPAD (<строка>,<длина>[,<подстрока>])


<строка> дополняется справа заданной в <подстроке> по­ следовательностью символов до указанной <длины> (воз­ можно, с повторением последовательности);

если <подстрока> не указана, то по умолчанию <строка> дополняется пробелами;

если <длина> меньше длины <строки>, то исходная <строка> усекается справа до заданной <длины >.

• LTRIM — удаление левых граничных символов LTRIM (<строка>[,<подстрока>])

из <строки> удаляются слева символы, указанные в <под- строке>;

если < подстрока > не указана, по умолчанию удаляются пробелы;

• в <строку> справа добавляется столько пробелов, сколько символов слева было удалено, то есть длина <строки> ос­ тается неизменной.

• RTRIM — удаление правых граничных символов RTRIM  (<строка>[,<подстрока>])

• из <строки> удаляются справа символы, указанные в <под- строке>;

если <подстрока> не указана, по умолчанию удаляются пробелы;

в <строку> слева добавляется столько пробелов, сколько символов справа было удалено, то есть длина <строки> ос­ тается неизменной.

Функции LTRIM и RTRIM рекомендуется использовать при на­писании условных выражений, в которых сравниваются текстовые строки. Дело в том, что наличие начальных или конечных пробе­лов в сравниваемых операндах может исказить результат сравнения.

Например, константы ' ААА' и 'ААА ' не равны друг другу.

• SUBSTR — выделение подстроки

SUBSTR (<строка>,<начало>[,<количество>])

• из <строки> выбирается заданное <количество> символов, начиная с указанной параметром <начало> позиции в строке;


• если <количество> не задано, символы выбираются с <на- чала> и до конца <строки>;

• возвращается подстрока, содержащая число символов, за­ данное параметром <количество>, либо число символов от позиции, заданной параметром <начало> до конца строки;

• если указанное <начало> превосходит длину <строки>, то возвращается строка, состоящая из пробелов. Длина этой строки будет равна заданному <количеству> или исходной длине <строки> (при не заданном <количестве>).

• INSTR — поиск подстроки

INSTR (<строка>,<подстрока>[,<начало поиска> [,<номер вхождения>]])

• < начало поиска> задает начальную позицию в строке для поиска <подстроки>. Если не задано, то по умолчанию принимается значение 1;

• <номер вхождения> задает порядковый номер искомой подстроки. Если не задан, то по умолчанию принимается значение 1;

значимые выражения в <начале поиска> или в <номере вхождения > должны иметь беззнаковый целый тип или приводиться к этому типу;

тип возвращаемого значения — INT;

функция возвращает позицию найденной подстроки.

• LENGTH — определение длины строки ыагстн(<строка>)

длина <строки>, тип возвращаемого значения — ЮТ;

функция возвращает NULL, если <строка> имеет NULL-зна- чение.

Примеры запросов, использующих строковые функции

Результат запроса

SELECT LPAD (SURNAME, 10, '@'), RPAD (NAME, 10, '$') FROM STUDENT WHERE KURS = 3 AND STIPEND > 0;

будет выглядеть следующим образом:


 

 

@@@@Петров

Петр$$$$$$

@@@@Павлов

Андрей$$$$

@@@@@Дукин

Артем$$$$$

 

 

А запрос

SELECT SUBSTR(NAME, 1, 1) Ц'.' || SURNAME, CITY, LENGTH (CITY,) FROM STUDENT WHERE KURS IN(2, 3, 4)AND STIPEND > 0;

выдаст результат:

 

 

CITY

 

П. Петров

Курск

5

С. Сидоров

Москва

6

О. Зайцева

Липецк

6

А. Лукин

Воронеж

7

А. Петров

NULL

NULL

 

 

 

 

Математический анализ, лекции по физике Компьютерные сети