informix-時間格式的各種用法

Posted 晨曦歡迎您!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了informix-時間格式的各種用法相关的知识,希望对你有一定的参考价值。

以下是我在網路上所收集到的關於informix 時間的sql函數用法,有在使用informix資料庫的人,可以參考看看囉!

today,返回現在系統日期

current 返回現在日期含時間,相當於sql server中的getdate()

DATE(VARCHAR(10)) 返回 DATE 類型 該函數以一個字符串變量為參數,其格式由環境變量 DBDATE 指定,並返回一個 DATE 類型。在setnet32中格式必須設為是「MDY4/」。

DATE(DATETIME) 返回 DATE 類型 這個函數與上一個函數相同,但是其輸入參數是可以為任意精度的 DATETIME。

DATE(INTEGER) 返回 DATE 類型 INTEGER 參數表示從 1899 年 12 月 31 日以來的天數。

DAY(DATE) 返回 INTEGER 類型 DAY 函數返回月中的日,格式為 INTEGER。

DAY(DATETIME) 與上一個函數相同,只是這個函數的輸入參數為任意精度的 DATETIME。

EXTEND(DATE, precision) 返回 DATETIME 類型

EXTEND 函數調整 DATE 參數的精度,並返回適當的 DATETIME。由於說起來有點模糊,這裡舉一個例子: EXTEND(DATE(1), YEAR TO SECOND)

EXTEND(DATETIME, precision) 返回 DATETIME 類型 與上一個函數相同,但操作的對象是一個 DATETIME,而不是一個 DATE。

MONTH(DATE) 返回 INTEGER 類型 MONTH 從參數 DATE 中提取出月份。

MONTH(DATETIME) 返回 INTEGER 類型 該函數從任意精度的 DATETIME 中提取出月份。

WEEKDAY(DATE) 返回 INTEGER 類型 WEEKDAY 函數根據指定的 DATE 返回一個 INTEGER,表示星期幾。0 表示星期天,6 表示星期六。

WEEKDAY(DATETIME) 返回 INTEGER 類型 與上一個函數相同,但操作對象是 DATETIME。

YEAR(DATE) 返回 INTEGER 類型 該函數從指定的參數 DATE 中提取出年份。

YEAR(DATETIME) 返回 INTEGER 類型 與上一個函數相同,但操作對象是 DATETIME。

MDY(INTEGER, INTEGER, INTEGER) 返回 DATE 類型 該函數根據三個 INTEGER 參數創建一個 DATE。這些參數分別指定月、日和年。注意,年是四位的整數。

mdy--用法 取得本月的第一天 MDY(MONTH(TODAY),1,YEAR(TODAY))

取得本月的最後一天 MDY(MONTH(TODAY),1,YEAR(TODAY)) - 1 + 1 UNITS MONTH

取得上月的第一天 MDY(MONTH(TODAY),1,YEAR(TODAY)) - 1 UNITS MONTH

取得上月的最後一天 MDY(MONTH(TODAY),1,YEAR(TODAY)) - 1

 

TO_CHAR(DATE, VARCHAR(??)) 返回 VARCHAR(??) 類型 該函數帶一個 DATE 參數和一個格式參數,並返回一個表示日期的字符串,該字符串遵從要求的格式。格式字符串可以包括: %A: 周 %B: 月 %d: 十進製表示的日 %Y: 4 位數表示的年 %R: 按 24 小時計的時間 TO_CHAR(DATE, VARCHAR(??)) 返回 VARCHAR(??) 類型 同上。 TO_DATE(VARCHAR(??), VARCHAR(??)) 返回 DATE 類型 這是 TO_CHAR 的逆向操作,使用相同的格式字符串作為第二個參數 下面的語句中extend用來限制到年、月、日,interval是說明間隔數 減去(加上)天數,interval最多取兩位 從time_stamp字段減去兩天時間 select extend(time_stamp-interval(2) day to day) from users;

從當前時間減去兩天 select extend(current-interval(2) day to day) from users; 減去(加上)月數,interval最多取兩位 從time_stamp字段減去兩個月 select extend(time_stamp-interval(2) month to month) from users;

從當前時間減去兩個月 select extend(current-interval(2) month to month) from users; 減去(加上)年數,interval最多取四位 從time_stamp字段減去兩個年 select extend(time_stamp-interval(2) year to year) from users;

從當前時間減去兩年 select extend(current-interval(2) year to year) from users; 試了一下,上面的寫法會顯示到毫秒,如 2004-09-11 17:24:03.000 2004-09-11 17:24:03.000 2004-09-11 17:24:03.000

可以再加個extend限制,如下 顯示到月 select extend(((extend(current-interval(2) day to day))),year to month) from users;

顯示到天 select extend(((extend(current-interval(2) month to month))),year to day) from users;

顯示到秒 select extend(((extend(current-interval(2) year to year))),year to second) from users; 上面講的是其中一種方法,有另一種用法,可以用units關鍵字。 --年 select current-5 units year from users --月 select current-5 units month from users --日 select current-5 units day from users --時 select current-5 units hour from users --分 select current-5 units minute from users --秒 select current-5 units second from users

 

http://yangxinde.pixnet.net/blog/post/23874960-informix-%E6%99%82%E9%96%93%E6%A0%BC%E5%BC%8F%E7%9A%84%E5%90%84%E7%A8%AE%E7%94%A8%E6%B3%95

以上是关于informix-時間格式的各種用法的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有 MERGE 语句的情况下执行 Update else Insert 操作 win INFORMIX

完美解决Informix的中文乱码问题

推薦一款超讚的格式化SD救援檔案的方法

Informix:.NET 驱动程序:默认日期时间格式

Informix `%iY` 和 `%Y` 格式有啥区别

如何在 Informix 中转换插入日期时间的格式?