[All]
Using and manipulating the InterBase DATE datatype
Abstract: Using and manipulating the InterBase DATE datatype
Problem:
How do I remove or strip the time portion out of the date field
Solution:
CREATE TABLE DATE_TEST (STAMP_NUM INTEGER,
STAMP_VALUE DATE,
STAMP_TYPE VARCHAR(10));
INSERT INTO date_test (stamp_num, stamp_value, stamp_type)
VALUES (1,'today','today');
INSERT INTO date_test (stamp_num, stamp_value, stamp_type)
VALUES (2,'now','now');
INSERT INTO date_test (stamp_num, stamp_value, stamp_type)
VALUES (3,'tomorrow','tomorrow');
INSERT INTO date_test (stamp_num, stamp_value, stamp_type)
VALUES (4,'yesterday','yesterday');
COMMIT;
SELECT * FROM date_test;
STAMP_NUM STAMP_VALUE STAMP_TYPE
=========== ==================== ==========
1 17-OCT-1997 00:00:00 today
2 17-OCT-1997 07:14:14 now
3 18-OCT-1997 00:00:00 tomorrow
4 16-OCT-1997 00:00:00 yesterday
UPDATE date_test SET stamp_value = 'today' WHERE stamp_num = 2;
COMMIT;
SELECT * FROM date_test;
STAMP_NUM STAMP_VALUE STAMP_TYPE
=========== ==================== ==========
1 17-OCT-1997 00:00:00 today
2 17-OCT-1997 00:00:00 now
3 18-OCT-1997 00:00:00 tomorrow
4 16-OCT-1997 00:00:00 yesterday
UPDATE date_test SET stamp_value = 'now' WHERE stamp_num = 2;
COMMIT;
SELECT * FROM date_test;
STAMP_NUM STAMP_VALUE STAMP_TYPE
=========== ==================== ==========
1 17-OCT-1997 00:00:00 today
2 17-OCT-1997 07:20:14 now
3 18-OCT-1997 00:00:00 tomorrow
4 16-OCT-1997 00:00:00 yesterday
UPDATE date_test
SET stamp_value = CAST (CAST (stamp_value AS CHAR(11)) AS DATE);
COMMIT;
SELECT * FROM date_test;
STAMP_NUM STAMP_VALUE STAMP_TYPE
=========== ==================== ==========
1 17-OCT-1997 00:00:00 today
2 17-OCT-1997 00:00:00 now
3 18-OCT-1997 00:00:00 tomorrow
4 16-OCT-1997 00:00:00 yesterday