本文介绍SQL分析任务中常用函数的SQL语句示例。
SQL分析任务中支持函数的具体说明,请参见 SQL分析任务支持的函数 。
时间和日期使用示例
函数名 |
操作目的 |
SQL语句示例 |
to_timestamp() |
按时间戳转换日期。 |
|
to_date() |
将字符串转换为日期。 |
|
to_timestamp() |
将字符串转换为时间戳。 |
|
date + integer |
从指定日期开始向前加7天,返回日期类型。 |
|
current_date |
当前日期向前加3天,返回日期类型。 |
|
to_char() |
当前时间向前加1天,返回日期类型。 |
|
date + time |
从指定日期开始向前加3个小时(00:00开始计算),返回timestamp类型。 |
|
date + interval |
从指定日期开始向前加1个小时(00:00开始计算),返回timestamp类型。 |
|
now()+interval |
当前时间向前加1天、1个月或2年,返回timestamptz类型。 |
|
date - date |
指定日期相减。 |
|
extract() |
获取指定日期的小时或分钟数。 |
|
date_trunc() |
截断时间。 |
|
字符串使用示例
函数名 |
操作目的 |
SQL语句示例 |
to_number() |
转换字符串为数字。 |
|
row_to_json() |
将一行数据转换为JSON格式。 |
|
string_agg() |
使用指定分隔符将指定表达式的非空值串联成字符串,可作为列转行使用。 |
|
string_agg() |
|
|
regexp_split_to_table() |
字符串分割函数,将分割出的数据转换成行,可作为行转列使用。 |
|
regexp_split_to_array() |
字符串分割函数,将分割出的数据转换成数组,可作为行转数组使用。 |
|
replace() |
字符串替换。 |
|
regexp_replace() |
|
|
UPPER() |
返回字符串大写格式。 |
|
LOWER() |
返回字符串小写格式。 |
|
INITCAP() |
返回首字母大写,其余字母小写的字符串。 |
|
CONCAT() |
字符串拼接。 |
|
CONCAT_WS() |
使用分隔符连接除第一个参数外的所有参数。 |
|
SUBSTRING() |
字符串截取。 |
|
TRIM() |
去除字符串两端字符。 |
|
split_part() |
使用指定的分隔符拆分字符串,并返回第n个字符串。 |
|
条件判断使用示例
函数名 |
操作目的 |
SQL语句示例 |
CASE...WHEN...ELSE...END |
在指定的条件表达式为TRUE时执行一组单个或多个语句。 |
|
COALESCE() |
返回参数列表中第一个非空表达式的值。 |
|
nullif() |
如果两个表达式的值相等,则结果返回NULL,反之返回第一个表达式的值。 |
|
greatest() |
选择表达式列表中的最大值。 |
|
least() |
选择表达式列表中的最小值。 |
|