建立內含遞增數列當作 id 的資料表,數列從 1 開始到 10 的 7 次方。
CREATE TABLE serial_numb(id) AS
SELECT i::bigint AS id FROM generate_series(1, 1e7) gs(i);
建立時間序列資料,
log_time 每一筆差一秒,
log_summary 將
log_time 的記錄到分鐘,沒有到秒數。
CREATE TABLE demo_data(log_time, log_time_summary) AS
SELECT x::timestamp AS log_time, date_trunc('minute', x) AS log_time_summary
FROM generate_series(timestamp '2020-01-01 00:00:00',
timestamp '2020-01-31 23:59:59', interval '1 sec') t(x);
複製資料到另一張新的表。
CREATE TABLE another_demo_data AS SELECT * FROM demo_data;
隨機選擇英文字母,形成字串,
len 是字串長度。
CREATE FUNCTION random_alphabet(len int)
RETURNS varchar AS $$
SELECT array_to_string(
ARRAY(
SELECT substring(
'ABCDEFGHIJKLMNOPQRSTUVWXYZ', trunc(random()*26)::int+1, 1
)
FROM generate_series(1, len) AS gs(x)
)
, ''
)
$$ LANGUAGE SQL;
隨機選擇數字,形成字串,
len 是字串長度。
CREATE FUNCTION random_digit(len int)
RETURNS varchar AS $$
SELECT array_to_string(
ARRAY(
SELECT substring(
'0123456789', trunc(random()*10)::int+1, 1
)
FROM generate_series(1, len) AS gs(x)
)
, ''
)
$$ LANGUAGE SQL;
沒有留言:
張貼留言