Sybase IQ常用函数大全–时间和日期函数(2)

查询索引:

  1. DAY 函数:返回 1 到 31 之间的一个整数,该整数对应于指定一天的日期(几月几日)。、
  2. DAYNAME 函数:返回指定日期的星期数。
  3. DAYS 函数:返回自任意开始日期以来的天数,返回两个指定日期之间的天数,或者将指定的 数量的天数添加到给定日期中。
  4. DOW 函数:返回 1 到 7 之间的一个数字,表示指定日期的星期数,其中星期日=1、星期一=2,依此类推。
  5. GETDATE 函数:返回当前日期和时间。
  6. NOW 函数:返回当前日期和时间。这是 CURRENT TIMESTAMP 的传统语法。
  7. TODAY 函数:返回当前日期。这是 CURRENT DATE 的传统语法。
  8. 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;