在 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;
在 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');
您还可以扩展该功能以测试不同的日期/时间戳格式。
但是避免这种情况的最好方法是从一开始就使用 a date
ortimestamp
列。