在 PostgreSQL 中,可以使用以下方法來驗證 datetime 數據的有效性:
to_timestamp()
來轉換字符串為 timestamp 類型,并檢查是否轉換成功。如果轉換出錯,則說明字符串格式不正確。SELECT to_timestamp('2022-12-31 23:59:59', 'YYYY-MM-DD HH24:MI:SS');
to_date()
和 to_time()
來分別轉換日期和時間部分,并檢查結果是否為 NULL。如果有一部分轉換結果為 NULL,則說明輸入的字符串格式不正確。SELECT to_date('2022-12-31', 'YYYY-MM-DD'), to_time('23:59:59', 'HH24:MI:SS');
CAST
或 CONVERT
函數將字符串轉換為 datetime 類型,并檢查結果是否為 NULL。如果轉換出錯,則說明字符串格式不正確。SELECT CAST('2022-12-31 23:59:59' AS TIMESTAMP);
SIMILAR TO
或 regexp_matches
函數來檢查字符串是否符合 ISO 8601 格式。SELECT '2022-12-31 23:59:59' SIMILAR TO '^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$';
這些方法可以幫助您驗證 datetime 數據的有效性,并確保數據符合要求的格式。