sql - Conditional querying to return timestamp if NOT todays date , else return time -


i have sql query want retrieve timestamp records table.

the query must return time without time zone if todays date = timestamp in record.

if record's timestamp::date not equals todays date return timestamp. examples:

2013-08-07 18:00:18.692+01 2013-08-09 20:13:09.927+01 

expected result:

18:00:18.692  2013-08-09 20:13:09.927+01 

from 2 timestamps able retrieve time 1st todays date retrieve both date , time second not todays date

this formatting issue, might better handle in application code. can in sql.

create table t (   ts timestamp not null   );  insert t values  ('2013-01-01 08:00'); insert t values  (current_timestamp); 

the time , timestamp data types aren't compatible in way want return them, casting text makes sense.

select case when ts::date = current_date ts::time::text             else ts::text        end t;  ts -- 2013-01-01 08:00:00 16:34:52.339 

Comments

Popular posts from this blog

plot - Remove Objects from Legend When You Have Also Used Fit, Matlab -

java - Why does my date parsing return a weird date? -

Need help in packaging app using TideSDK on Windows -