CREATE TABLE test_interval_ym (
col_interval INTERVAL YEAR TO MONTH -- 仅存储年月
);
-- 插入数据测试
INSERT INTO test_interval_ym VALUES ('1-2'); -- 1年2个月
INSERT INTO test_interval_ym VALUES ('3-0'); -- 3年
CREATE TABLE test_interval_ds (
col_interval INTERVAL DAY TO SECOND -- 仅存储天、小时、分钟、秒
);
-- 插入数据测试
INSERT INTO test_interval_ds VALUES ('5 12:30:45.123'); -- 5天12小时30分45.123秒
日期时间类型
-- 创建表
CREATE TABLE test_timestamptz (
col_timestamptz TIMESTAMP WITH TIME ZONE
);
-- 插入带时区的时间
INSERT INTO test_timestamptz VALUES
('2023-10-01 14:30:45+08'),
('2023-10-01 14:30:48+08'),
(NOW());
-- 查询并观察时区转换
SET TIME ZONE 'Asia/Shanghai';
SELECT col_timestamptz AT TIME ZONE 'UTC' AS utc_time FROM test_timestamptz;
-- 尝试创建表(可能失败)
CREATE TABLE test_local_tz (
col_local_tz TIMESTAMP WITH LOCAL TIME ZONE
);
ROWID
CREATE TABLE test_rowid (
id ROWID, -- 如果报错,说明不支持
data TEXT
);
长类型
CREATE TABLE test_clob ( id SERIAL PRIMARY KEY, content CLOB);-- 插入长文本数据INSERT INTO test_clob (content) VALUES (REPEAT('This is a long text. ', 1000));```sqlCREATE TABLE test_blob ( data BLOB);INSERT INTO test_blob (data) VALUES (E'\\xDEADBEEF');CREATE TABLE test_raw ( hash RAW(32) -- 假设存储 32 字节的哈希值);CREATE TABLE test_bfile ( content BFILE);CREATE TABLE test_long ( content LONG);CREATE TABLE test_long_raw ( data LONG RAW);