display to_timestamp in quotas or convert to char ?

From: czezz <czezz(at)o2(dot)pl>
To: pgsql-admin(at)postgresql(dot)org
Subject: display to_timestamp in quotas or convert to char ?
Date: 2015-05-05 09:59:09
Message-ID: 22c93a48.7dc1250c.5548946d.f29b0@o2.pl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello,
This post might be unreadable in your mail client. If so try to copy it in to notepad as there is a long query statement.

I have following table in the DB.

Server2=# \d ss21_file
              Table "srx.ss21_file"
      Column       |          Type          | Modifiers
-------------------+------------------------+-----------
value             | character varying(30)  |
fileindex         | bigint                 |
filename          | character varying(80)  |
filetime          | character varying(100) |
filesizeinrecords | bigint                 |
filesizeinbytes   | bigint                 |
sourceid          | character varying(300) |
Indexes:
    "ss21_filetime" UNIQUE, btree (filetime)

When executing following query I get following error:

Server2=# SELECT value, fileIndex, fileName, fileTime, fileSizeInRecords, fileSizeInBytes, sourceID   FROM ss21_file WHERE filetime < to_timestamp('2015-05-04 22:13:14.000', 'YYYY/MM/DD-HH24:MI:SS.FF3');
ERROR:  operator does not exist: character varying < timestamp with time zone
LINE 1: ...ytes, sourceID   FROM ss21_file WHERE filetime < to_times...
                                                             ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.

My assumption is that, it is because "filetime" column is "character varying" and in WHERE condition value there is converted to timestamp.
When I execute this same query but instead to_timestamp I use regular string eg. '2015-05-04 22:13:14.000' (NOTE: single quotas) it works quite good.
If this is correct, is there any way to force to_"timestamp" function to be convertrd in to "character varying" or display its value in single quotas ?

Server2=# SELECT value, fileIndex, fileName, fileTime, fileSizeInRecords, fileSizeInBytes, sourceID   FROM ss21_file WHERE filetime < '2015-05-04 22:13:14.000';
        value         | fileindex |               filename                |        filetime         | filesizeinrecords | filesizeinbytes |              sourceid

----------------------+-----------+---------------------------------------+-------------------------+-------------------+-----------------+-----------------------------
-------
-903097975225368365  |     94859 | ss21_20141118020501_1166.DAT | 2014-11-18 02:05:30.109 |              2775 |          490560 | coll_SS21-Group_0_141627273
0_1634
-2781431802746610881 |     94868 | ss21_20141118042502_1175.DAT | 2014-11-18 04:25:30.154 |              1803 |          310688 | coll_SS21-Group_0_141628113
0_1643
-4731211533677294393 |     94878 | ss21_20141118065501_1185.DAT | 2014-11-18 06:55:30.380 |             14745 |         2640848 | coll_SS21-Group_0_141629013

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message czezz 2015-05-05 11:26:24 display to_timestamp in quotas or convert to char
Previous Message Peter Geoghegan 2015-05-05 05:53:06 Re: INSERT ... ON CONFLICT UPDATE/IGNORE 4.0