如何創建 SQL 函式以使其接受日期或空值
CREATE OR REPLACE function func(dob timestamp)
RETURNS TABLE(greet varchar, age int) AS $$
SELECT CASE
WHEN dob IS NULL
THEN ('no birth'::text, 0)
WHEN dob >= '2000-01-01'
THEN ('post millennium', 21)
ELSE ('does not match', -1)
END
$$
language sql stable strict;
在這里,我想接受日期值或 null。當我通過 null 時它不起作用。我得到空記錄
uj5u.com熱心網友回復:
您需要洗掉該strict屬性。
從手冊中參考
RETURNS NULL ON NULL INPUT 或 STRICT 表示只要函式的任何引數為空,該函式總是回傳空。如果指定了這個引數,當有空引數時,函式不會被執行;而是自動假定為空結果。
(強調我的)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/449517.html
標籤:sql PostgreSQL 功能
