Add utc_timestamp function (#1456)
This commit is contained in:
@ -243,6 +243,18 @@ DateTimeVal TimestampFunctions::curtime(FunctionContext* context) {
|
||||
return return_val;
|
||||
}
|
||||
|
||||
DateTimeVal TimestampFunctions::utc_timestamp(FunctionContext* context) {
|
||||
TimeInterval interval;
|
||||
// TODO(liuhy): we only support Beijing Timezone, so minus 28800
|
||||
interval.second = -28800;
|
||||
DateTimeValue dtv = *(context->impl()->state()->now());
|
||||
dtv.date_add_interval(interval, SECOND);
|
||||
|
||||
DateTimeVal return_val;
|
||||
dtv.to_datetime_val(&return_val);
|
||||
return return_val;
|
||||
}
|
||||
|
||||
DateTimeVal TimestampFunctions::to_date(
|
||||
FunctionContext* ctx, const DateTimeVal& ts_val) {
|
||||
if (ts_val.is_null) {
|
||||
|
||||
@ -78,6 +78,7 @@ public:
|
||||
// Date/time functions.
|
||||
static doris_udf::DateTimeVal now(doris_udf::FunctionContext* context);
|
||||
static doris_udf::DateTimeVal curtime(doris_udf::FunctionContext* context);
|
||||
static doris_udf::DateTimeVal utc_timestamp(doris_udf::FunctionContext* context);
|
||||
static doris_udf::DateTimeVal to_date(
|
||||
doris_udf::FunctionContext* ctx, const doris_udf::DateTimeVal& ts_val);
|
||||
static doris_udf::IntVal date_diff(
|
||||
|
||||
@ -0,0 +1,24 @@
|
||||
# utc_timestamp
|
||||
|
||||
## Syntax
|
||||
|
||||
`DATETIME UTC_TIMESTAMP()`
|
||||
|
||||
## Description
|
||||
|
||||
返回当前UTC日期和时间在 "YYYY-MM-DD HH:MM:SS" 或
|
||||
|
||||
"YYYYMMDDHHMMSS"格式的一个值
|
||||
|
||||
根据该函数是否用在字符串或数字语境中
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
mysql> select utc_timestamp(),utc_timestamp() + 1;
|
||||
+---------------------+---------------------+
|
||||
| utc_timestamp() | utc_timestamp() + 1 |
|
||||
+---------------------+---------------------+
|
||||
| 2019-07-10 12:31:18 | 20190710123119 |
|
||||
+---------------------+---------------------+
|
||||
```
|
||||
@ -112,6 +112,8 @@ visible_functions = [
|
||||
'_ZN5doris18TimestampFunctions3nowEPN9doris_udf15FunctionContextE'],
|
||||
[['curtime', 'current_time'], 'DATETIME', [],
|
||||
'_ZN5doris18TimestampFunctions7curtimeEPN9doris_udf15FunctionContextE'],
|
||||
[['utc_timestamp'], 'DATETIME', [],
|
||||
'_ZN5doris18TimestampFunctions13utc_timestampEPN9doris_udf15FunctionContextE'],
|
||||
[['timestamp'], 'DATETIME', ['DATETIME'],
|
||||
'_ZN5doris18TimestampFunctions9timestampEPN9doris_udf15FunctionContextERKNS1_11DateTimeValE'],
|
||||
|
||||
|
||||
Reference in New Issue
Block a user