SnowConvert AI - Function References - Shared¶
INTERVAL_MULTIPLY_UDF (VARCHAR, VARCHAR, INTEGER)¶
定义¶
此用户定义的函数 (UDF) 用于将时间间隔乘以一个“N”倍值。
INTERVAL_MULTIPLY_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE VARCHAR(), INPUT_MULT INTEGER)
参数¶
INPUT_PART VARCHAR
运算的格式。例如:DAY、HOUR TO SECOND、 YEAR TO MONTH。
INPUT_VALUE VARCHAR
要相乘的时间间隔。
INPUT_MULT INTEGER
乘以时间间隔的倍数。
返回¶
返回一个包含乘法结果的 varchar。
使用示例¶
输入:
SELECT INTERVAL_MULTIPLY_UDF('DAY', '2', 100);
输出:
200
TRUNC_UDF (TIMESTAMP_LTZ, VARCHAR)¶
定义¶
此用户定义的函数 (UDF) 重现了指定格式参数时的 Teradata 和 Oracle TRUNC(Date) 功能。
TRUNC_UDF(DATE_TO_TRUNC TIMESTAMP_LTZ, DATE_FMT VARCHAR(5))
参数¶
DATE_TO_TRUNC TIMESTAMP_LTZ
要截断的 timestamp_ltz 值,该值必须为日期、时间戳或带时区的时间戳。
DATE_FMT VARCHAR
一个 varchar 值,它应该是 trunc 函数支持的日期格式之一。
返回¶
使用指定格式返回截断的日期。
使用示例¶
输入:
SELECT TRUNC_UDF(TIMESTAMP '2015-08-18 12:30:00', 'Q')
输出:
2015-07-01
INTERVAL_TO_SECONDS_UDF (VARCHAR, VARCHAR)¶
定义¶
此用户定义的函数 (UDF) 用于确定时间间隔内的秒数,它也与处理的时间类型相关。这是一个辅助函数。
INTERVAL_TO_SECONDS_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE VARCHAR())
参数¶
INPUT_PART VARCHAR
第二个参数的相关类型。例如:DAY、DAY TO HOUR、HOUR、MINUTE。
INPUT_VALUE VARCHAR
要转换为秒的值。
返回¶
返回表示秒数的十进制值类型。
使用示例¶
输入:
SELECT INTERVAL_TO_SECONDS_UDF('DAY', '1');
输出:
86400.000000
DATEDIFF_UDF (DATE, STRING)¶
定义¶
此用户定义的函数 (UDF) 用于生成一个时间间隔值与一个日期之间的差。
DATEDIFF_UDF(D DATE, INTERVAL_VALUE STRING)
参数¶
D DATE
将用于处理与时间间隔的差值的日期。
INTERVAL_VALUE STRING
将用于创建差值的时间间隔值。
返回¶
返回一个日期,其中包含时间减法运算的结果。
使用示例¶
输入:
SELECT DATEDIFF_UDF('2024-01-30', 'INTERVAL ''2-1'' YEAR(2) TO MONTH');
输出:
2021-12-30
SECONDS_TO_INTERVAL_UDF (VARCHAR, NUMBER)¶
定义¶
此用户定义的函数 (UDF) 用于将秒转换为时间间隔。这是一个辅助函数。
SECONDS_TO_INTERVAL_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE NUMBER)
参数¶
INPUT_PART VARCHAR
第二个参数的相关类型。例如:DAY、DAY TO HOUR、HOUR、MINUTE、MINUTE TO SECOND。
INPUT_VALUE VARCHAR
要转换为时间间隔的秒数。
返回¶
返回
使用示例¶
输入:
SELECT SECONDS_TO_INTERVAL_UDF('DAY TO SECOND', '86400');
输出:
1 000:000:000
DATEADD_UDF (STRING, DATE)¶
定义¶
此用户定义的函数 (UDF) 用于将一个日期与一个时间间隔相加。
DATEADD_UDF(INTERVAL_VALUE STRING,D DATE)
参数¶
INTERVAL_VALUE STRING
要相加的时间间隔。
D DATE
要与时间间隔相加的日期。
返回¶
返回一个日期,其中包含时间间隔与日期相加的结果。
使用示例¶
输入:
SELECT DATEADD_UDF('INTERVAL ''2-1'' YEAR(2) TO MONTH', '2024-01-30');
输出:
2026-02-28
DATEDIFF_UDF (STRING, DATE)¶
定义¶
此用户定义的函数 (UDF) 用于生成一个时间间隔值与一个日期之间的差。
DATEDIFF_UDF(INTERVAL_VALUE STRING,D DATE)
参数¶
INTERVAL_VALUE STRING
将用于创建差值的时间间隔值。
D DATE
将用于处理与时间间隔的差值的日期。
返回¶
返回一个日期,其中包含时间减法运算的结果。
使用示例¶
输入:
SELECT DATEDIFF_UDF('INTERVAL ''2-1'' YEAR(2) TO MONTH', '2024-01-30');
输出:
2021-12-30
DATEADD_UDF (DATE, STRING)¶
定义¶
此用户定义的函数 (UDF) 用于将一个日期与一个时间间隔相加。
DATEADD_UDF(D DATE, INTERVAL_VALUE STRING)
参数¶
D DATE
要与时间间隔相加的日期。
INTERVAL_VALUE STRING
要相加的时间间隔。
返回¶
返回一个日期,其中包含时间间隔与日期相加的结果。
使用示例¶
输入:
SELECT DATEADD_UDF('2024-01-30', 'INTERVAL ''1-1'' YEAR(2) TO MONTH');
输出:
2025-02-28
TO_INTERVAL_UDF (TIME)¶
定义¶
此用户定义的函数 (UDF) 用于从当前时间生成一个单独的时间间隔。
TO_INTERVAL_UDF(D2 TIME)
参数¶
D2 TIME
要转换为单独时间间隔的输入时间。
返回¶
返回一个字符串,其中包含与输入时间的间隔的信息。
使用示例¶
输入:
SELECT TO_INTERVAL_UDF(CURRENT_TIME);
输出:
INTERVAL '4 HOURS,33 MINUTES,33 SECOND'
INTERVAL_TO_MONTHS_UDF (VARCHAR)¶
定义¶
此用户定义的函数 (UDF) 用于从一个时间间隔中生成一个表示月数的整数。这是一个辅助函数。
INTERVAL_TO_MONTHS_UDF
(INPUT_VALUE VARCHAR())
参数¶
INPUT_VALUE VARCHAR
要转换为月的时间间隔值。
返回¶
返回一个整数,其中包含处理后的月份信息。
使用示例¶
输入:
SELECT PUBLIC.INTERVAL_TO_MONTHS_UDF('1-6');
输出:
18
DATEDIFF_UDF (STRING, TIMESTAMP)¶
定义¶
此用户定义的函数 (UDF) 用于从一个时间戳中减去一个时间间隔。
DATEADD_UDF(INTERVAL_VALUE STRING,D TIMESTAMP)
参数¶
INTERVAL_VALUE STRING
要减去的时间间隔。
D TIMESTAMP
要从中减去时间间隔的时间戳。
返回¶
返回一个日期,其中包含时间间隔与时间戳相减的结果。
使用示例¶
输入:
SELECT PUBLIC.DATEDIFF_UDF('INTERVAL ''1-1'' YEAR(2) TO MONTH', TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'));
输出:
2022-12-31 05:09:09.799
MONTHS_TO_INTERVAL_UDF (VARCHAR, NUMBER)¶
定义¶
此用户定义的函数 (UDF) 用于将月值转换为时间间隔。这是一个辅助函数。
MONTHS_TO_INTERVAL_UDF
(INPUT_PART VARCHAR(30), INPUT_VALUE NUMBER)
参数¶
INPUT_PART VARCHAR
第二个参数的相关类型。例如:YEAR TO MONTH、YEAR、MONTH。
INPUT_VALUE VARCHAR
要转换为时间间隔的月份。
返回¶
返回一个 varchar,内容为将输入值转换为时间间隔后的结果。
使用示例¶
输入:
SELECT MONTHS_TO_INTERVAL_UDF('YEAR TO MONTH', 2);
输出:
2
DATEDIFF_UDF (TIMESTAMP, STRING)¶
定义¶
此用户定义的函数 (UDF) 用于从一个时间间隔中减去一个时间戳。
DATEDIFF_UDF(D TIMESTAMP, INTERVAL_VALUE STRING)
参数¶
D TIMESTAMP
将与时间间隔相减的时间戳。
INTERVAL_VALUE STRING
要减去的时间间隔。
返回¶
返回一个日期,其中包含时间间隔与时间戳相减的结果。
使用示例¶
输入:
SELECT PUBLIC.DATEDIFF_UDF(TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'), 'INTERVAL ''1-1'' YEAR(2) TO MONTH');
输出:
2022-12-31 05:09:09.799
TRUNC_UDF (NUMBER)¶
定义¶
此用户定义的函数 (UDF) 重现了在 未 指定小数位数时的 Teradata 和 Oracle TRUNC(Numeric) 功能。
TRUNC_UDF(INPUT NUMBER)
参数¶
INPUT NUMBER
要截断的数字。
返回¶
返回一个 int,作为输入数字截断到零小数位的结果。
使用示例¶
输入:
SELECT TRUNC_UDF(25122.3368)
输出:
25122
TRUNC_UDF (NUMBER, NUMBER)¶
定义¶
此用户定义的函数 (UDF) 重现了在指定小数位数时的 Teradata 和 Oracle TRUNC(Numeric) 功能。
TRUNC_UDF(INPUT NUMBER, SCALE NUMBER)
参数¶
INPUT NUMBER
要截断的数字。
SCALE NUMBER
要截断的小数位数(范围在 -38 到 38 之间)。
返回¶
返回一个 int,作为输入数字截断到指定小数位数后的结果。
使用示例¶
输入:
SELECT TRUNC_UDF(25122.3368, -2);
输出:
25100
INTERVAL_ADD_UDF (VARCHAR, VARCHAR, VARCHAR, VARCHAR, CHAR, VARCHAR)¶
定义¶
此用户定义的函数 (UDF) 用于对特定时间类型的时间间隔进行加减运算。
INTERVAL_ADD_UDF
(INPUT_VALUE1 VARCHAR(), INPUT_PART1 VARCHAR(30), INPUT_VALUE2 VARCHAR(), INPUT_PART2 VARCHAR(30), OP CHAR, OUTPUT_PART VARCHAR())
参数¶
INPUT_VALUE1 VARCHAR
表示一种时间类型的数量。
INPUT_PART1 VARCHAR
INPUT_VALUE1 的时间类型。例如:HOUR。
INPUT_VALUE2 VARCHAR
表示一种时间类型的第二个数量。
INPUT_PART2 VARCHAR
INPUT_VALUE2 的时间类型。例如:HOUR。
OP CHAR
要执行的运算。可为 '+' 或 '-'。
OUTPUT_PART VARCHAR
运算输出结果的时间类型。
返回¶
返回一个 varchar,其中包含指定运算结果和值。
使用示例¶
输入:
SELECT INTERVAL_ADD_UDF('7', 'HOUR', '1', 'HOUR', '+', 'HOUR');
输出:
8
DATEADD_UDF (STRING, TIMESTAMP)¶
定义¶
此用户定义的函数 (UDF) 用于将一个时间戳与一个时间间隔相加。
DATEADD_UDF(INTERVAL_VALUE STRING,D TIMESTAMP)
参数¶
INTERVAL_VALUE STRING
要相加的时间间隔。
D TIMESTAMP
要与时间间隔相加的时间戳。
返回¶
返回一个日期,其中包含时间间隔与日期相加的结果。
使用示例¶
输入:
SELECT PUBLIC.DATEADD_UDF('INTERVAL ''1-1'' YEAR(2) TO MONTH', TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'));
输出:
2025-02-28 05:09:09.799
TRUNC_UDF (TIMESTAMP_LTZ)¶
定义¶
此用户定义的函数 (UDF) 重现了 未 指定格式参数时的 Teradata 和 Oracle TRUNC(Date) 功能。
TRUNC_UDF(INPUT TIMESTAMP_LTZ)
参数¶
DATE_TO_TRUNC TIMESTAMP_LTZ
要截断的 timestamp_ltz 值,该值必须为日期、时间戳或带时区的时间戳。
返回¶
返回 DATE_TO_TRUNC 的日期部分。
使用示例¶
输入:
SELECT TRUNC_UDF(TIMESTAMP '2015-08-18 12:30:00')
输出:
2015-08-18
DATEADD_UDF (TIMESTAMP, STRING)¶
定义¶
此用户定义的函数 (UDF) 用于将一个时间戳与一个时间间隔相加。
DATEADD_UDF(D TIMESTAMP, INTERVAL_VALUE STRING)
参数¶
D TIMESTAMP
要与时间间隔相加的时间戳。
INTERVAL_VALUE STRING
要相加的时间间隔。
返回¶
返回一个日期,其中包含时间间隔与日期相加的结果。
使用示例¶
输入:
SELECT PUBLIC.DATEADD_UDF(TO_TIMESTAMP('2024-01-31 05:09:09.799 -0800'), 'INTERVAL ''1-1'' YEAR(2) TO MONTH');
输出:
2025-02-28 05:09:09.799
LOG_INFO_UDP (VARCHAR)¶
定义¶
This user-defined store procedure (UDP) is used to log messages using the Snowflake SYSTEM$LOG functions.
DATEADD_UDF(D TIMESTAMP, INTERVAL_VALUE STRING)
参数¶
MESSAGE VARCHAR
The message to be logged.
返回¶
A success message indicating the log operation was completed.
使用示例¶
输入:
CALL PUBLIC.LOG_INFO_UDP('My log message');
输出:
RESULT |
|---|
'Message logged successfully' |