SQL: , , :
():
1. CHARACTER ( CHAR);
2. CHARACTER VARYING ( VARCHAR))
3. CHARACTER LARGE J ( CLOB);
:
:
1. INTEGER;
2. SMALLINT;
3. BIGINT;
4. NUMERIC;
5. DECIMAL;
:
1. REAL;
2. DOUBLE PRECISION;
3. FLOAT;
() BOOLEAN;
-:
1. DATE;
2. TIME WITHOUT TIME ZONE;
3. TIME WITH TIME ZONE;
4. TIMESTAMP WITHOUT TIME ZONE;
5. TIMESTAMP WITH TIME ZONE;
.
YEAR ;
MONTH ;
DAY ;
HOUR ;
MINUTE ;
6. SECOND .
, :
Row (),
ARRAY ()
MULTISET ().
ROW addr, .
CREATE ROW TYPE addr
(PostCode VARCHAR (9),
City VARCHAR (30),
Street VARCHAR (30),
House VARCHAR (10));
CREATE TABLE
( ID_ INTEGER PRIMARY KEY,
VARCHAR (2 5),
addr,
VARCHAR (15) );
, :
CREATE TABLE (
ID_ INTEGER PRIMARY KEY,
VARCHAR (2 5),
addr,
VARCHAR (15) ARRAY [3]);
SQL- :
INSERT INTO (, )
VALUES (' ', ('444-4444', '123-4567',
'777-8899'));
(User Defined Types, UDT)
:
CREATE DISTINCT TYPE AS ;
MONEY .
DECIMAL:
CREATE DISTINCT TYPE MONEY AS DECIMAL (9,2);
MONEY , :
CREATE DISTINCT TYPE EURO AS DECIMAL (9,2);
CREATE DISTINCT TYPE USD AS DECIMAL (9,2);
CREATE DISTINCT TYPE RU AS DECIMAL (9,2);
, , . _USD _RU , SQL-:
UPDATE _ SET _RU = k * _USD
k .
_USD _RU , :
UPDATE _
SET CAST(_RU AS DECIMAL (9,2) = k * CAST(_USD
AS DECIMAL (9,2));
|
|
:
- , ;
-, ;
-, .
.
, , , SQL, . Book, () , myBooks, Books.
CREATE TYPE Books AS
Title CHAR (50),
Author CHAR (20),
Publisher CHAR (20),
Year INTEGER,
Volume INTEGER,
N0T FINAL;
Books () ( ):
Title (), Author (), Publisher (), Year ( ), Volume ( ). N0T FINAL ( ) , .
myBooks , , :
CREATE TYPE myBooks UNDER Books FINAL;
- :
myBooks Books ;
, myBooks
CREATE TABLE
(
myBooks,
NUMERIC (6,2)
);
.
BEGlN
DECLARE myBooks; /* myBooks*/
SET = myBooks(); /* - */ /* - */
SET = .Title('HTML, ');
SET = .Author(' ');
SET = .Publisher('-');
SET =.Year(2005);
SET .Volume(832);
/* */ INSERT INTO (, 350.50);
END;
BEGIN () END ()
, :
SELECT * FROM WHERE IS NULL;
- , . , , , . :
CHARACTER CHARACTER VARYING;
;
, , - . .
CAST ():
CAST ( AS );
:
CAST ('1234.52' AS NUMERIC (9, 2));
CAST ('2005-10-03 ' AS DATE);
CAST (CURRENT TIMESTAMP (2) AS CHAR (20));
SELECT ': ' || CAST ( AS CHAR(5)) FROM ;
.
SQL-
, , , . :