gpt4 book ai didi

postgresql - 有什么方法可以检查一个字段是否能够在 postgres 中转换为时间戳

转载 作者:行者123 更新时间:2023-11-29 13:04:12 31 4
gpt4 key购买 nike

在 T-SQL 中,您可以执行以下操作:

Select from Table where dateField is Date = true;

在 postgres 中有什么方法可以做到这一点。具体来说,

Select * from "Table" where to_timestamp("dateField", 'MM-DD-YYYY 24HH:MI') is Possible;

最佳答案

您首先不应在 varchar 列中存储日期或时间戳(如果您有,则不需要此解决方法)。

你可以很容易地创建一个函数来检查这个:

create or replace function is_date(to_test varchar, format varchar)
returns boolean
language plpgsql
as
$$
declare
temp_result timestamp;
begin
temp_result := to_timestamp(to_test, format);
return true;
exception
when others then
return false;
end;
$$

然后你可以像这样使用它:

Select 
from some_table
where is_date(some_column, 'MM-DD-YYYY 24HH:MI');

您还可以扩展函数以测试不同的日期/时间戳格式。

但是避免这种情况的最好方法是从一开始就使用datetimestamp 列。

关于postgresql - 有什么方法可以检查一个字段是否能够在 postgres 中转换为时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19744153/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com