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');
関数を拡張して、さまざまな日付/タイムスタンプ形式をテストすることもできます。
ただし、これを回避する最善の方法は、最初からdate
ortimestamp
列を使用することです。