第三十八章 SQL函数 CURTIME
返回当前本地时间的标量日期/时间函数。
大纲
{fn CURTIME()}
{fn CURTIME}
描述
``不接受任何参数。它将当前本地时间作为数据类型TIME
返回。请注意,参数括号是可选的。CURTIME
返回此时区的当前本地时间;它根据本地时间变量(如夏令时)进行调整。
逻辑模式下的CURTIME
以$HOROLOG
格式返回当前本地时间;
例如,37065
年。
显示模式下的CURTIME
以区域设置的默认格式返回当前本地时间;
例如,10:18:27
。
小时以24
小时格式表示。
要更改默认的时间格式,使用SET OPTION
命令和TIME_FORMAT
和TIME_PRECISION
选项。
要只返回当前时间,请使用CURTIME
或CURRENT_TIME
。
这些函数以TIME
数据类型返回它们的值。
CURRENT_TIMESTAMP
、GETDATE
和NOW
函数也可以作为TIMESTAMP
数据类型返回当前日期和时间。
请注意,除了GETUTCDATE
之外,所有 SQL时间和日期函数都特定于当地时区设置。
要获得通用的(独立于时区的)当前时间戳,你可以使用GETUTCDATE
或ObjectScript $ZTIMESTAMP
特殊变量。
在使用嵌入式SQL时,这些数据类型的性能不同。
TIME
数据类型将值存储为$HOROLOG
格式的整数(从午夜开始的秒数);
在SQL中显示时,转换为时间显示格式;
当从嵌入式SQL返回时,它们作为整数返回。
TIMESTAMP
数据类型以相同的格式存储和显示其值。
可以使用CAST
或CONVERT
函数来更改时间和日期的数据类型。
示例
下面的例子都返回当前系统时间:
SELECT {fn CURTIME()} AS TimeNow
9:27:30
SELECT {fn CURTIME} AS TimeNow
9:27:42
下面的嵌入式SQL示例返回当前时间。
因为这个时间是以$HOROLOG
格式存储的,所以它被返回为一个整数:
&sql(SELECT {fn CURTIME} INTO :a)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE }
ELSE {
WRITE !,"Current time is: ",a }
下面的例子将Contacts
表中选中行的LastCall
字段设置为当前系统时间:
UPDATE Contacts Set LastCall = {fn CURTIME()}
WHERE Contacts.ItemNumber=:item