Sybase IQ常用函数大全–时间和日期函数(2)
查询索引:
- DAY 函数:返回 1 到 31 之间的一个整数,该整数对应于指定一天的日期(几月几日)。、
- DAYNAME 函数:返回指定日期的星期数。
- DAYS 函数:返回自任意开始日期以来的天数,返回两个指定日期之间的天数,或者将指定的 数量的天数添加到给定日期中。
- DOW 函数:返回 1 到 7 之间的一个数字,表示指定日期的星期数,其中星期日=1、星期一=2,依此类推。
- GETDATE 函数:返回当前日期和时间。
- NOW 函数:返回当前日期和时间。这是 CURRENT TIMESTAMP 的传统语法。
- TODAY 函数:返回当前日期。这是 CURRENT DATE 的传统语法。
- ISDATE 函数:测试字符串参数是否可以转换为日期。如果可以进行转换,则此函数返回 1;否则返回 0。如果参数为 NULL,则返回 0。
1. DAY 函数
返回 1 到 31 之间的一个整数,该整数对应于指定一天的日期(几月几日)。
语法:
DAY ( <date-expression> )
解析:
参数 | 说明 |
date-expression | 日期。 |
示例:
-- 以下语句返回值 12:
SELECT DAY( '2001-09-12' ) FROM iq_dummy
2. DAYNAME 函数
返回指定日期的星期数。
语法:
DAYNAME ( <date-expression> )
解析:
参数 | 说明 |
date-expression | 日期。 |
示例:
-- 以下语句返回值 Saturday:
SELECT DAYNAME ( '1987/05/02' ) FROM iq_dummy
3. DAYS 函数
返回自任意开始日期以来的天数,返回两个指定日期之间的天数,或者将指定的 数量的天数添加到给定日期中。
- DAYS 忽略小时、分钟和秒。
语法:
-- 语法一:
DAYS ( <datetime-expression> )
-- 语法二:
DAYS ( <datetime-expression>, <datetime-expression> )
-- 语法三:
DAYS ( <datetime-expression>, <integer-expression> )
解析:
参数 | 说明 |
datetime-expression | 日期和时间。 |
integer-expression | 要添加到 datetime-expression 中的天数。如果 integer-expression 是负数,则从日期/时间中减去相应的天数。如果提供整数表达式,必须将 datetime-expression 显式转换为日期。 |
示例:
-- 以下语句返回值 729948:
SELECT DAYS( '1998-07-13 06:07:12' ) FROM iq_dummy
-- 以下语句返回整数值 -366,表示两个日期之间的差值:
SELECT DAYS( '1998-07-13 06:07:12','1997-07-12 10:07:12' ) FROM iq_dummy
-- 以下语句返回值 1999-07-14:
SELECT DAYS( CAST('1998-07-13' AS DATE ), 366 ) FROM iq_dummy
4. DOW 函数
返回 1 到 7 之间的一个数字,表示指定日期的星期数,其中星期日=1、星期一=2,依此类推。
语法:
DOW ( <date-expression> )
解析:
参数 | 说明 |
date-expression | 日期和时间。 |
- 如果要使星期一(或另一天)成为一周中的第一天,请使用 DATE_FIRST_DAY_OF_WEEK 选项。
- DATE_FIRST_DAY_OF_WEEK可以设置为0到7
- first_day_of_week也可以实现设置星期一(或另一天)成为一周中的第一天
-
set first_day_of_week = '1'
设置周一为一周的第一天
示例:
-- 以下语句返回值 5:
SELECT DOW( '1998-07-09' ) FROM iq_dummy
5. GETDATE 函数
返回当前日期和时间。
语法:
GETDATE ()
示例:
-- 以下语句返回系统日期和时间。
SELECT GETDATE( ) FROM iq_dummy
6. NOW 函数
返回当前日期和时间。这是 CURRENT TIMESTAMP 的传统语法。
语法:
NOW ( * )
示例:
以下语句返回当前日期和时间。
SELECT NOW(*) FROM iq_dummy
7. TODAY 函数
返回当前日期。这是 CURRENT DATE 的传统语法。
语法:
TODAY ( * )
示例:
-- 以下语句根据系统时钟返回当前日期。
SELECT TODAY( * ) FROM iq_dummy
8. ISDATE 函数
测试字符串参数是否可以转换为日期。如果可以进行转换,则此函数返回 1;否则返回 0。如果参数为 NULL,则返回 0。
语法:
ISDATE ( <string> )
解析:
参数 | 说明 |
string | 要分析的字符串,分析目的是确定该字符串是否代表有效日期。 |
示例:
-- 以下示例测试 birth_date 列中是否保存着有效日期,它以 NULL 的形式返回无效日期,并以 date 的格式返回有效日期。
select
case when isdate(birth_date)=0
then NULL
else cast(birth_date as date)
end
from MyData;