Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 参考 » 使用 SQL » SQL 数据类型 » 日期和时间数据类型

 

从数据库中检索日期和时间

可以使用以下方式之一从数据库中检索日期和时间:

  • 使用任何接口,以字符串形式

  • 使用 ODBC,以 TIMESTAMP 结构形式

  • 使用嵌入式 SQL,以 SQLDATETIME 结构形式

以字符串形式检索日期或时间时,按照数据库选项 date_format、time_format 和 timestamp_format 所指定的格式进行检索。有关这些选项的说明,请参见SET OPTION 语句

有关用于处理日期和时间的函数的信息,请参见日期和时间函数。允许对日期使用以下算术运算符:

  • timestamp + integer   向日期或时间戳中添加指定的天数。

  • timestamp - integer   从日期或时间戳中减去指定的天数。

  • date - date   计算两个日期或时间戳之间的天数。

  • date + time   创建将给定日期和时间组合在一起的时间戳。

闰年

SQL Anywhere 使用全球通用的算法来确定哪些年是闰年。使用这种算法,当年份可以被四整除时即视为闰年,但年份为世纪日期时(如 1900 年)除外,此时年份只有在可以被 400 整除时才是闰年。

SQL Anywhere 会正确地处理所有闰年。例如,以下 SQL 语句产生的返回值为 "Tuesday":

SELECT DAYNAME('2000-02-29');

SQL Anywhere 接受 2000 年 —闰年— 2 月 29 日作为日期,并用这个日期确定星期几。

然而,以下语句会遭到 SQL Anywhere 拒绝:

SELECT DAYNAME('2001-02-29');

此语句会导致错误(无法将 '2001-02-29' 转换为日期),因为 2001 年不存在 2 月 29 日。