实用语法
DML 基础见 基础命令;MySQL 等价写法见 MySQL 基础命令。
-- UPSERT(MySQL 的 ON DUPLICATE KEY UPDATE 等价)
INSERT INTO users (id, name, updated_at)
VALUES (1, 'Alice', NOW())
ON CONFLICT (id) DO UPDATE
SET name = EXCLUDED.name, updated_at = EXCLUDED.updated_at;
-- 生成 UUID(需 uuid-ossp 或 pgcrypto)
SELECT gen_random_uuid();
-- 时间操作
SELECT NOW() - INTERVAL '7 days';
SELECT DATE_TRUNC('month', NOW());
-- 聚合为字符串
SELECT STRING_AGG(name, ', ' ORDER BY name) FROM users;
-- 取第一个非 NULL
SELECT COALESCE(phone, email, '无联系方式') FROM users;