Учебно-практическое пособие москва 2017 ббк


SELECT * FROM databases WHERE is_open_source  't'



Pdf көрінісі
бет61/243
Дата21.07.2022
өлшемі3,05 Mb.
#147663
түріУчебно-практическое пособие
1   ...   57   58   59   60   61   62   63   64   ...   243
Байланысты:
Язык SQL. Базовый курс

SELECT * FROM databases WHERE is_open_source <> 't';
SELECT * FROM databases WHERE is_open_source <> '1';
SELECT * FROM databases WHERE is_open_source <> 1;
30.* Обратимся к таблице, создаваемой с помощью команды
CREATE TABLE test_bool ( a boolean, b text );
65


Как вы думаете, какие из приведенных ниже команд содержат ошибку?
INSERT INTO test_bool VALUES ( TRUE, 'yes' );
INSERT INTO test_bool VALUES ( yes, 'yes' );
INSERT INTO test_bool VALUES ( 'yes', true );
INSERT INTO test_bool VALUES ( 'yes', TRUE );
INSERT INTO test_bool VALUES ( '1', 'true' );
INSERT INTO test_bool VALUES ( 1, 'true' );
INSERT INTO test_bool VALUES ( 't', 'true' );
INSERT INTO test_bool VALUES ( 't', truth );
INSERT INTO test_bool VALUES ( true, true );
INSERT INTO test_bool VALUES ( 1::boolean, 'true' );
INSERT INTO test_bool VALUES ( 111::boolean, 'true' );
Проверьте свои предположения практически, выполнив эти команды.
31.* Пусть в таблице birthdays хранятся даты рождения какой-то группы людей. Со-
здайте эту таблицу с помощью команды
CREATE TABLE birthdays
( person text NOT NULL,
birthday date NOT NULL );
Добавьте в нее несколько строк, например:
INSERT INTO birthdays VALUES ( 'Ken Thompson', '1955-03-23' );
INSERT INTO birthdays VALUES ( 'Ben Johnson', '1971-03-19' );
INSERT INTO birthdays VALUES ( 'Andy Gibson', '1987-08-12' );
Давайте выберем из таблицы birthdays строки для всех людей, родившихся в
каком-то конкретном месяце, например, в марте:
SELECT * FROM birthdays
WHERE extract( 'mon' from birthday ) = 3;
В этой команде в вызове функции extract имеет место неявное приведение ти-
пов, т. к. ее вторым параметром должно быть значение типа timestamp. Пола-
гаться на неявное приведение типов можно не всегда.
person
| birthday
--------------+------------
Ken Thompson | 1955-03-23
Ben Johnson | 1971-03-19
(2 строки)
Если нам потребуется выяснить, кто из этих людей достиг возраста, скажем, 40
лет на момент выполнения запроса, то команда может быть такой (в последнем
столбце показана дата достижения возраста 40 лет):


Достарыңызбен бөлісу:
1   ...   57   58   59   60   61   62   63   64   ...   243




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет