文章目录

  • 第九十九章 SQL函数 NOW
  • 大纲
  • 描述
  • 精度的小数秒
  • 其他当前时间和日期功能
  • 示例

第九十九章 SQL函数 NOW

返回当前本地日期和时间的日期/时间函数。

大纲

NOW(){fn NOW}
{fn NOW()}

描述

NOW 不接受任何参数。参数括号对于 ODBC 标量语法是可选的;它们对于 SQL 标准函数语法是必需的。

NOW 以时间戳的形式返回该时区的当前本地日期和时间;它会根据本地时间变体进行调整,例如夏令时。

NOW 可以返回 %TimeStamp 数据类型格式 (yyyy-mm-dd hh:mm:ss.ffff) 或 %PosixTime 数据类型格式(编码的 64 位有符号整数)的时间戳。以下规则确定返回的时间戳格式:

  1. 如果当前时间戳提供给数据类型为 %PosixTime 的字段,则当前时间戳值以 POSIXTIME 数据类型格式返回。例如,WHERE PosixField=NOW()INSERT INTO MyTable (PosixField) VALUES (NOW())
  2. 如果当前时间戳提供给数据类型为 %TimeStamp 的字段,则当前时间戳值以 TIMESTAMP 数据类型格式 (yyyy-mm-dd hh:mm:ss) 返回。它的 ODBC 类型是 TIMESTAMPLENGTH16PRECISION19。小时以 24 小时格式表示。所有字段都保留前导零。例如,WHERE TSField=NOW()INSERT INTO MyTable (TSField) VALUES (NOW())
  3. 如果在没有上下文的情况下提供当前时间戳,则以 TIMESTAMP 数据类型格式返回当前时间戳值。例如SELECT NOW()

要更改默认日期时间字符串格式,请使用带有各种日期和时间选项的 SET OPTION 命令。

可以使用 CASTCONVERT 函数更改时间戳、日期和时间的数据类型。

精度的小数秒

默认情况下,NOW 不返回小数秒的精度。它不支持精确参数。但是,通过更改系统范围的默认时间精度,可以使系统范围内的所有 NOW 函数返回此配置的小数秒精度位数。系统范围默认时间精度的初始配置设置为 0(无小数秒);最高设置为 9。

GETDATE 在功能上与 NOW 相同,只是 GETDATE 提供了一个精度参数,允许覆盖系统范围的默认时间精度;如果省略精度参数,则 GETDATE 采用配置的系统范围的默认时间精度。

CURRENT_TIMESTAMP 有两种语法形式: 没有参数括号,CURRENT_TIMESTAMP 在功能上与 NOW 相同。带参数括号的 CURRENT_TIMESTAMP(precision) 在功能上与 GETDATE 相同,只是 CURRENT_TIMESTAMP()精度参数是强制性的。 CURRENT_TIMESTAMP() 始终返回其指定的精度并忽略配置的系统范围默认时间精度。

小数秒总是被截断而不是四舍五入到指定的精度。

SYSDATE 在功能上与无参数的 CURRENT_TIMESTAMP 函数相同。

其他当前时间和日期功能

NOWGETDATECURRENT_TIMESTAMPSYSDATE 都根据本地时区设置返回当前本地日期和时间。

GETUTCDATE 以时间戳的形式返回当前的通用时间常数(UTC) 日期和时间。由于 UTC 时间不依赖于本地时区,并且不受本地时间变量(例如夏令时)的影响,因此该功能对于在不同时区的用户访问同一数据库时应用一致的时间戳很有用。 GETUTCDATE 支持小数秒精度。当前的 UTC 时间戳也由 ObjectScript $ZTIMESTAMP 特殊变量提供。

要仅返回当前日期,请使用 CURDATECURRENT_DATE。要仅返回当前时间,请使用 CURRENT_TIMECURTIME。这些函数使用 DATETIME 数据类型。 TIMEDATE 数据类型将它们的值存储为 $HOROLOG 格式的整数。这些函数都不支持精度。

示例

下面的例子显示了这三种语法形式是等价的; all 返回当前的本地日期和时间作为时间戳:

SELECT NOW(),{fn NOW},{fn NOW()}2022/3/16 10:08:51   2022/3/16 10:08:51  2022/3/16 10:08:51

以下嵌入式 SQL 示例比较了本地(特定于时区)和通用(独立于时区)时间戳:

/// d ##class(PHA.TEST.SQLFunction).Now()
ClassMethod Now()
{&sql(SELECT NOW(),GETUTCDATE() INTO :a,:b)if SQLCODE '= 0 {w !,"Error code ",SQLCODE } else {w !,"Local timestamp is:  ",aw !,"UTC timestamp is:    ",bw !,"$ZTIMESTAMP is:      ",$ZDATETIME($ZTIMESTAMP,3,,3)}
}
DHC-APP>d ##class(PHA.TEST.SQLFunction).Now()Local timestamp is:  2022-03-16 10:09:42
UTC timestamp is:    2022-03-16 02:09:42
$ZTIMESTAMP is:      2022-03-16 02:09:42.584

以下示例将 Orders 表的选定行中的 LastUpdate 字段设置为当前系统日期和时间:

UPDATE Orders SET LastUpdate = {fn NOW()}WHERE Orders.OrderNumber=:ord

第九十九章 SQL函数 NOW相关推荐

  1. 第九十五章 SQL函数 MINUTE

    文章目录 第九十五章 SQL函数 MINUTE 大纲 参数 描述 示例 第九十五章 SQL函数 MINUTE 返回日期时间表达式的分钟的时间函数. 大纲 {fn MINUTE(time-express ...

  2. 第九十四章 SQL函数 %MINUS

    文章目录 第九十四章 SQL函数 %MINUS 大纲 参数 描述 示例 第九十四章 SQL函数 %MINUS 将数字转换为规范整理格式,然后反转符号的整理函数. 大纲 %MINUS(expressio ...

  3. 第六十九章 SQL函数 JSON_OBJECT

    文章目录 第六十九章 SQL函数 JSON_OBJECT 大纲 参数 描述 选择模式和排序 ABSENT ON NULL 示例 第六十九章 SQL函数 JSON_OBJECT 将数据作为JSON对象返 ...

  4. 第二十九章 SQL函数 COALESCE

    文章目录 第二十九章 SQL函数 COALESCE 大纲 描述 返回值的数据类型 比较NULL处理函数 示例 第二十九章 SQL函数 COALESCE 返回第一个非空表达式的值的函数. 大纲 COAL ...

  5. 第二十九章 SQL命令 DISTINCT

    文章目录 第二十九章 SQL命令 DISTINCT 大纲 参数 描述 DISTINCT和ORDER BY DISTINCT和GROUP BY 字母大小写与DISTINCT优化 DISTINCT的其他用 ...

  6. 第十九章 SQL谓词 %STARTSWITH(一)

    第十九章 SQL谓词 %STARTSWITH(一) 用指定初始字符的子字符串匹配值. 大纲 scalar-expression %STARTSWITH substring 参数 scalar-expr ...

  7. 第四十六章 SQL函数 DAY

    文章目录 第四十六章 SQL函数 DAY 大纲 参数 描述 第四十六章 SQL函数 DAY 返回日期表达式的月份日期的日期函数. 大纲 DAY(date-expression){fn DAY(date ...

  8. 第二十四章 SQL函数 CEILING

    文章目录 第二十四章 SQL函数 CEILING 大纲 参数 描述 示例 第二十四章 SQL函数 CEILING 数值函数,返回大于或等于给定数值表达式的最小整数. 大纲 CEILING(numeri ...

  9. 第六十九章 Caché 函数大全 $WCHAR 函数

    文章目录 第六十九章 Caché 函数大全 $WCHAR 函数 大纲 参数 描述 第六十九章 Caché 函数大全 $WCHAR 函数 返回与识别代理项对的数字代码对应的字符. 大纲 $WCHAR(e ...

  10. 第十九章 Caché 函数大全 $INCREMENT 函数

    文章目录 第十九章 Caché 函数大全 $INCREMENT 函数 大纲 参数 描述 参数 variable num INCREMENT或INCREMENT或INCREMENT或SEQUENCE $ ...

最新文章

  1. css实现 textarea 高度自适应
  2. MySQL Group Replication 介绍
  3. 2019 ASP.NET Core 之微调查报告,新鲜出炉
  4. tf.logging.set_verbosity (tf.logging.INFO)
  5. 微型计算机有缺点,PT开口安装微机消谐的优缺点?
  6. python numpy逆_关于python:为什么numpy和scipy中的矩阵求逆函数对于大的二次矩阵返回不同的结果?...
  7. Python+OpenCV:理解k近邻(kNN)算法(k-Nearest Neighbour (kNN) algorithm)
  8. window下Python2.7和3.5共存以及两个版本下使用pip
  9. MATLAB基础篇——线性代数应用
  10. 移动端字体小于12px的解决方案
  11. 杭州电信域名解析服务器,浙江电信的DNS是多少?
  12. IP-guard23个功能模块简介
  13. libusb-win32介绍
  14. 2019.5.summary
  15. ubuntu18关不了机
  16. python画笑脸表情_用Matplotlib,妈妈再也不担心我没有表情包斗图了
  17. 填表统计预约打卡表单系统
  18. [Pico]读取新建写入文本文件
  19. 货郎担问题java算法_经典算法(1)---货郎担问题
  20. 如何成为更好的软件架构师?

热门文章

  1. Ubuntu、ros快速安装
  2. 无法删除文件:无法读源文件或磁盘”
  3. php定义一个矩形类rectangle,c#定义一个类圆Circle或者定义一个矩形类Rectangle,分别计算它们的周长和面积....
  4. 深度解析反思型Essay怎么写?
  5. 论文阅读-(CCNet)Criss-Cross Attention for Semantic Segmentation
  6. 用Matlab进行2ASK仿真程序流程图,matlab画流程图
  7. 基于sass的前端样式管理方案
  8. win10系统与时间服务器同步超时,Win10时间同步出错怎么办 Win10时间同步出错解决方法...
  9. word 2010 脚注 尾注 尾注序号 连续尾注 尾注分隔符 删除
  10. 微博营销普遍遇到的误区