Самые нужные текстовые функции в PostgreSQL:
CONCAT(текст1, текст2,..) - для сцепления фрагментов текста в один;
LENGTH(текст) - подсчитывает количество символов в тексте;
LOWER(текст) - преобразовывает текст к нижнему регистру;
LPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов слева таких, какой указан в последнем параметре, пока текст не станет нужной длины;
POSITION(фрагмент_текста IN текст) - возвращает с какого символа начинается искомый фрагмент текста в тексте;
REPLACE(текст, что_искать, на_что_заменять) - осуществляет замену в тексте определенного фрагмента на другой;
RPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов справа таких, какой указан в последнем параметре, пока текст не станет нужной длины;
TRIM(текст) - убирает в тексте пробелы до первого символа и после последнего символа;
UPPER(текст) - преобразовывает текст к верхнему регистру.
CONCAT(текст1, текст2,..) - для сцепления фрагментов текста в один;
LENGTH(текст) - подсчитывает количество символов в тексте;
LOWER(текст) - преобразовывает текст к нижнему регистру;
LPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов слева таких, какой указан в последнем параметре, пока текст не станет нужной длины;
POSITION(фрагмент_текста IN текст) - возвращает с какого символа начинается искомый фрагмент текста в тексте;
REPLACE(текст, что_искать, на_что_заменять) - осуществляет замену в тексте определенного фрагмента на другой;
RPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов справа таких, какой указан в последнем параметре, пока текст не станет нужной длины;
TRIM(текст) - убирает в тексте пробелы до первого символа и после последнего символа;
UPPER(текст) - преобразовывает текст к верхнему регистру.
👍9❤4🔥4
Всем привет!
Один из простых способов создать дамп небольшой базы данных в текстовый файл в постгресе - воспользоваться утилитой pg_dump.exe:
pg_dump.exe -U логин -h имя_сервера_например_localhost -p порт -d имя_базы_данных_на_сервере > путь_куда_выложить_дамп
Пример:
D:\Postgre\bin\pg_dump.exe -U postgres -h localhost -p 5432 -d postgres > D:\Dump\postgres.dump
И загрузить такой дамп в виде текстового файла можно утилитой psql.exe так:
psql.exe -U пользователь -h имя_сервера_например_localhost -p порт -d на_какую_базу_развернуть -f путь_до_файла_дампа
Пример:
D:\Postgre\bin\psql.exe -U postgres -h localhost -p 5432 -d test -f D:\Dump\postgres.dump
Один из простых способов создать дамп небольшой базы данных в текстовый файл в постгресе - воспользоваться утилитой pg_dump.exe:
pg_dump.exe -U логин -h имя_сервера_например_localhost -p порт -d имя_базы_данных_на_сервере > путь_куда_выложить_дамп
Пример:
D:\Postgre\bin\pg_dump.exe -U postgres -h localhost -p 5432 -d postgres > D:\Dump\postgres.dump
И загрузить такой дамп в виде текстового файла можно утилитой psql.exe так:
psql.exe -U пользователь -h имя_сервера_например_localhost -p порт -d на_какую_базу_развернуть -f путь_до_файла_дампа
Пример:
D:\Postgre\bin\psql.exe -U postgres -h localhost -p 5432 -d test -f D:\Dump\postgres.dump
👍5
Требуется найти договора в таблице DOCS, премия сделок по которым (столбец PREM VARCHAR(20)) указана в процентах. Таблица DOCS имеет вид:
ID DT_DOC CLIENT_ID PREM
1 12.03.25 34567 50000
2 14.03.25 34789 10%
3 15.03.25 36700 8%
4 18.03.25 36701 37500
...
ID DT_DOC CLIENT_ID PREM
1 12.03.25 34567 50000
2 14.03.25 34789 10%
3 15.03.25 36700 8%
4 18.03.25 36701 37500
...
Какой запрос написан правильно?
Anonymous Quiz
15%
SELECT * FROM DOCS WHERE PREM LIKE '%'
9%
SELECT * FROM DOCS WHERE PREM LIKE '%%'
13%
SELECT * FROM DOCS WHERE PREM LIKE '%%%'
18%
SELECT * FROM DOCS WHERE PREM LIKE '_%'
12%
SELECT * FROM DOCS WHERE PREM LIKE '\%' ESCAPE '\'
29%
SELECT * FROM DOCS WHERE PREM LIKE '%\%' ESCAPE '\'
4%
SELECT * FROM DOCS WHERE PREM LIKE '%\_' ESCAPE '\'
👍3❤1
👍1
В копилочку знаний: начиная с версии 11.2 в ORACLE появился пакет DBMS_PARALLEL_EXECUTE, позволяющий максимально просто разбивать работу с большой таблицей данных на фрагменты для параллельной работы.
Можно указывать rowid, диапазоны, группы разбивки, а также количество параллельных потоков. Можно написать и SQL, определяющий кастомную разбивку на параллели, чтобы каждый поток, например, читал данные своей партиции. В более ранних версиях подобное можно было реализовывать только с помощью DBMS_JOB или DBMS_SCHEDULER для ручного распараллеливания.
Можно указывать rowid, диапазоны, группы разбивки, а также количество параллельных потоков. Можно написать и SQL, определяющий кастомную разбивку на параллели, чтобы каждый поток, например, читал данные своей партиции. В более ранних версиях подобное можно было реализовывать только с помощью DBMS_JOB или DBMS_SCHEDULER для ручного распараллеливания.
👍3
Еще один не очень сложный вопрос из тестов по SQL: что означает оператор UNION?
Anonymous Quiz
5%
Объединяет таблицы по столбцам
65%
Объединяет результаты запросов, удаляя дубликаты
15%
Объединяет результаты запросов с дубликатами
15%
Создает объединение таблиц
❤1
Какой из нижеперечисленных уровней изоляции транзакций является наивысшим?
Anonymous Quiz
7%
REPEATABLE READ
12%
READ UNCOMMITTED
55%
SERIALIZABLE
26%
READ COMMITTED
В ORACLE чтобы дать права на использование методов пакета PKG_TEST пользователю USER_TEST нужно выполнить команду:
Anonymous Quiz
65%
GRANT EXECUTE ON PKG_TEST TO USER_TEST;
20%
GRANT PACKAGE ON PKG_TEST TO USER_TEST;
10%
GRANT SELECT ON PKG_TEST TO USER_TEST;
1%
REVOKE EXECUTE ON PKG_TEST FROM USER_TEST;
2%
REVOKE PACKAGE ON PKG_TEST FROM USER_TEST;
2%
REVOKE SELECT ON PKG_TEST FROM USER_TEST;
👍2
В таблице TERMINALS следующие записи:
ID TPT
-----------------------
1 1
2 1
3 NULL
4 NULL
5 2
6 NULL
ID TPT
-----------------------
1 1
2 1
3 NULL
4 NULL
5 2
6 NULL
Сколько строк вернёт запрос: SELECT * FROM TERMINALS WHERE TPT NOT IN (NULL, 1)
Anonymous Quiz
16%
0
40%
1
6%
2
3%
3
14%
4
4%
5
0%
6
17%
Будет ошибка выполнения запроса
👍3😢2👏1
Выберите верные утверждения:
a) Уникальный индекс может быть только один в таблице, их не может быть несколько в одной таблице;
b) Уникальный индекс может состоять только из одного столбца и не может состоять из нескольких (быть составным);
c) Для уникального индекса допустимо состоять из колонки, являющейся внешним ключом;
d) Столбец, являющийся уникальным индексом, может содержать null значения;
e) Уникальный индекс это тоже самое, что и первичный ключ;
f) Уникальный индекс всегда кластеризован.
a) Уникальный индекс может быть только один в таблице, их не может быть несколько в одной таблице;
b) Уникальный индекс может состоять только из одного столбца и не может состоять из нескольких (быть составным);
c) Для уникального индекса допустимо состоять из колонки, являющейся внешним ключом;
d) Столбец, являющийся уникальным индексом, может содержать null значения;
e) Уникальный индекс это тоже самое, что и первичный ключ;
f) Уникальный индекс всегда кластеризован.
Выберите верные утверждения:
Anonymous Quiz
6%
a, b
15%
a, c
7%
a, e
5%
a, f
3%
b, d
3%
b, f
40%
c, d
15%
c, f
6%
e, f
🔥3❤1
После большого количества изменений в таблицы БД чаще всего быстрее выполнится команда
Anonymous Quiz
70%
COMMIT
30%
ROLLBACK
❤2🔥1😁1