สร้างตาราง tbtest
create table tbtest ( id SERIAL PRIMARY KEY, firstname varchar(50) NOT NULL, date1 DATE, date3 datetime year to fraction(3), date5 datetime year to fraction(5), timestamp DATETIME YEAR TO FRACTION(5) DEFAULT SYSDATE YEAR TO FRACTION(5) );
การ insert
ข้อมูลด้วย today
insert into tbtest (firstname, date1, date3, date5) values ('jack', today, today, today);
การ insert
ข้อมูลด้วยการกำหนดค่า
insert into tbtest (firstname, date1, date3, date5) values ('jack1', '30/01/2019', '2019-02-20 00:00:00.000', '2019-02-20 00:00:00.00000');
ลอง select ดู
select * from tbtest
จะได้
ถ้าเป็นชนิด
datetime year to day
ให้ insert ด้วย format
'yyyy-MM-dd'
ถ้าเป็นชนิด
datetime year to second
ให้ insert ด้วย format
'yyyy-MM-dd HH:mm:ss'
การ select datetime ให้ได้เป็น string TO_CHAR Function
SELECT TO_CHAR(TODAY, '%Y-%m-%d') FROM systables WHERE tabid = 1; --2019-12-25
SELECT TO_CHAR(TODAY, '%Y-%m-%dT%H:%M:%S') || '+07:00' FROM systables WHERE tabid = 1; --2019-12-25T00:00:00+07:00
การ update
ข้อมูล
update tbtest set (firstname, date1) = ('jack2', '10/02/2019') where id = 1;
ใช้ Date() – Date() จะได้ผลลัพธ์เป็น integer
SELECT DATE(TO_DATE('20200101', '%Y%m%d')) AS date_to_date, CAST(TO_DATE('20200101', '%Y%m%d') AS DATE) AS cast_to_date, TO_DATE('20200101', '%Y%m%d')::DATE AS colon_to_date, (TODAY - DATE(TO_DATE('20200101','%Y%m%d'))) AS date_difference FROM sysmaster:informix.sysdual; date_to_date cast_to_date colon_to_date date_difference 2020-01-01 2020-01-01 2020-01-01 34