📅  最后修改于: 2023-12-03 15:05:33.986000             🧑  作者: Mango
Teradata 是一个广泛使用的关系型数据库管理系统 (RDBMS),它支持许多 SQL 函数来操作和计算数据。这些内置函数包括以下类型:
下面将详细介绍每种函数类型及其常用函数。
聚合函数用于在数据集上执行数学运算,并返回单个聚合值。
常用的聚合函数包括:
COUNT()
函数返回指定列的行数或表达式的非空值数量。
SELECT COUNT(*)
FROM myTable;
SUM()
函数返回指定列或表达式的总和。
SELECT SUM(sales)
FROM myTable;
AVG()
函数返回指定列或表达式的平均值。
SELECT AVG(sales)
FROM myTable;
MAX()
函数返回指定列或表达式的最大值。
SELECT MAX(sales)
FROM myTable;
MIN()
函数返回指定列或表达式的最小值。
SELECT MIN(sales)
FROM myTable;
字符串函数用于对字符串类型的数据执行操作。
常用的字符串函数包括:
CONCAT()
函数返回连接两个或多个字符串的结果。
SELECT CONCAT(last_name, ', ', first_name)
FROM myTable;
SUBSTR()
函数返回字符串的子字符串。
SELECT SUBSTR(name, 2, 3)
FROM myTable;
TRIM()
函数用于从字符串的开头或结尾删除空格。
SELECT TRIM(name)
FROM myTable;
LOWER()
函数用于将字符串转换为小写字母。
SELECT LOWER(name)
FROM myTable;
UPPER()
函数用于将字符串转换为大写字母。
SELECT UPPER(name)
FROM myTable;
日期时间函数用于对日期时间类型的数据执行操作。
常用的日期时间函数包括:
CURRENT_DATE
函数返回当前日期。
SELECT CURRENT_DATE;
CURRENT_TIME
函数返回当前时间。
SELECT CURRENT_TIME;
EXTRACT()
函数用于提取日期或时间的特定部分。
SELECT EXTRACT(YEAR FROM date_col)
FROM myTable;
DATEADD()
函数用于将日期或时间加上指定的时间间隔。
SELECT DATEADD(MONTH, 3, date_col)
FROM myTable;
DATEDIFF()
函数用于计算两个日期之间的时间间隔。
SELECT DATEDIFF(DAY, start_date, end_date)
FROM myTable;
数值函数用于对数值类型的数据执行操作。
常用的数值函数包括:
ABS()
函数返回数值的绝对值。
SELECT ABS(sales)
FROM myTable;
CEIL()
函数返回不小于指定数值的最小整数。
SELECT CEIL(sales)
FROM myTable;
FLOOR()
函数返回不大于指定数值的最大整数。
SELECT FLOOR(sales)
FROM myTable;
ROUND()
函数返回指定数值的四舍五入值。
SELECT ROUND(sales, 2)
FROM myTable;
转换函数用于将数据类型从一种类型转换为另一种类型。
常用的转换函数包括:
CAST()
函数将一个数据类型转换为另一个数据类型。例如,将一个字符串转换为数字。
SELECT CAST('123' AS INTEGER)
FROM myTable;
TO_DATE()
函数将一个字符串转换为日期类型。
SELECT TO_DATE('2022-01-01', 'YYYY-MM-DD')
FROM myTable;
TO_CHAR()
函数将一个日期类型转换为字符串类型。
SELECT TO_CHAR(date_col, 'YYYY-MM-DD')
FROM myTable;
分析函数用于在数据集中对数据执行分析操作。
常用的分析函数包括:
RANK()
函数为每个行返回一个排名值。
SELECT RANK() OVER (ORDER BY sales DESC)
FROM myTable;
DENSE_RANK()
函数为每个行返回一个密集排名值。
SELECT DENSE_RANK() OVER (ORDER BY sales DESC)
FROM myTable;
ROW_NUMBER()
函数为每个行返回一个唯一的行号。
SELECT ROW_NUMBER() OVER (ORDER BY sales DESC)
FROM myTable;
LAG()
函数返回前一个行的值。
SELECT LAG(sales) OVER (ORDER BY date_col)
FROM myTable;
LEAD()
函数返回下一个行的值。
SELECT LEAD(sales) OVER (ORDER BY date_col)
FROM myTable;
以上是 Teradata 的常用内置函数介绍,使用它们可以让数据分析更加高效和方便。