温馨提示×

postgres数据类型支持函数

小樊
81
2024-12-25 04:34:22
栏目: 编程语言

PostgreSQL 支持多种内置函数,这些函数可以对不同的数据类型进行操作

  1. 数值类型函数:

    • abs(x):返回 x 的绝对值。
    • acos(x):返回 x 的反余弦值。
    • asin(x):返回 x 的反正弦值。
    • atan(x):返回 x 的反正切值。
    • atan2(y, x):返回从 x 轴到点 (x, y) 的角度值。
    • ceil(x):返回大于或等于 x 的最小整数。
    • floor(x):返回小于或等于 x 的最大整数。
    • round(x):返回 x 四舍五入后的整数。
    • sqrt(x):返回 x 的平方根。
    • trunc(x):返回 x 截断为整数部分后的值。
    • random():返回一个 [0.0, 1.0) 之间的随机浮点数。
    • random_range(a, b):返回一个在区间 [a, b] 内的随机浮点数。
    • sign(x):返回 x 的符号(1, 0 或 -1)。
    • exp(x):返回 e 的 x 次幂。
    • log(x):返回 x 的自然对数(以 e 为底)。
    • log10(x):返回 x 的以 10 为底的对数。
    • power(x, y):返回 x 的 y 次幂。
    • mod(x, y):返回 x 除以 y 的余数。
    • pi():返回圆周率 π 的值。
    • radians(x):将角度 x 转换为弧度。
    • degrees(x):将弧度 x 转换为角度。
    • length(x):返回 x 的长度(对于字符串类型,表示字符串的长度;对于数组类型,表示数组的长度)。
  2. 字符串类型函数:

    • length(x):返回字符串 x 的长度。
    • substring(x, start, length):从字符串 x 中提取子字符串,从 start 位置开始,长度为 length。
    • lower(x):将字符串 x 转换为小写。
    • upper(x):将字符串 x 转换为大写。
    • trim(x):删除字符串 x 两端的空白字符。
    • ltrim(x):删除字符串 x 左侧的空白字符。
    • rtrim(x):删除字符串 x 右侧的空白字符。
    • replace(x, old, new):将字符串 x 中的所有 old 子串替换为 new 子串。
    • position(x, substring):返回子字符串在字符串 x 中首次出现的位置,如果没有找到则返回 NULL。
    • split(x, delimiter):使用指定的分隔符 delimiter 将字符串 x 分割为子字符串数组。
    • concat(x, y, …):将多个字符串连接成一个字符串。
    • exists(x):检查字符串 x 是否为非空。
    • char_length(x):返回字符串 x 的字符长度(对于多字节字符,返回实际字符数)。
  3. 日期和时间类型函数:

    • now():返回当前的日期和时间。
    • current_date():返回当前的日期。
    • current_time():返回当前的时间。
    • current_timestamp():返回当前的日期和时间。
    • interval ‘n’ second:返回 n 秒的间隔。
    • interval ‘n’ minute:返回 n 分钟的间隔。
    • interval ‘n’ hour:返回 n 小时的间隔。
    • interval ‘n’ day:返回 n 天的间隔。
    • interval ‘n’ month:返回 n 个月的间隔。
    • interval ‘n’ year:返回 n 年的间隔。
    • age(date):计算两个日期之间的年龄。
    • extract(field FROM source):从日期或时间源中提取指定字段的值。
    • date_trunc(field FROM source):将日期或时间源截断为指定字段的值。
    • date_part(‘field’, source):与 date_trunc 类似,但返回的是一个字符串。
    • make_date(year, month, day):根据给定的年、月、日创建一个日期。
    • make_time(hour, minute, second, microsecond):根据给定的时、分、秒和微秒创建一个时间。
    • make_timestamp(year, month, day, hour, minute, second, microsecond):根据给定的年、月、日、时、分、秒和微秒创建一个 timestamp。
    • to_char(source, format):将日期或时间源转换为指定格式的字符串。
    • to_date(string, format):将字符串转换为日期,使用指定的格式。
    • to_time(string, format):将字符串转换为时间,使用指定的格式。
    • to_timestamp(string, format):将字符串转换为 timestamp,使用指定的格式。
    • next_day(date):返回给定日期之后的第一个工作日。
    • last_day(date):返回给定日期所在月份的最后一天。
    • age(date1, date2):计算两个日期之间的年龄。
    • interval_to_str(interval, format):将间隔转换为指定格式的字符串。
  4. 布尔类型函数:

    • bool_or(x, y):当 x 或 y 为 TRUE 时返回 TRUE,否则返回 FALSE。
    • bool_and(x, y):当 x 和 y 都为 TRUE 时返回 TRUE,否则返回 FALSE。
    • bool_not(x):返回 x 的逻辑非。
    • is_true(x):当 x 为 TRUE 时返回 TRUE,否则返回 FALSE。
    • is_false(x):当 x 为 FALSE 时返回 TRUE,否则返回 FALSE。
    • is_null(x):当 x 为 NULL 时返回 TRUE,否则返回 FALSE。
  5. 数组类型函数:

    • array_length(array, dimension):返回数组的第 dimension 维度的长度。
    • array_lower(array, dimension):返回数组的第 dimension 维度的下标,该下标对应的元素值为 1。
    • array_upper(array, dimension):返回数组的第 dimension 维度的上标,该上标对应的元素值为 array_length(array, dimension)。
    • array_cat(array1, array2, …):将多个数组连接成一个数组。
    • array_append(array, element):将元素追加到数组的末尾。
    • array_prepend(array, element):将元素插入到数组的开头。
    • array_remove(array, value):从数组中移除所有等于 value 的元素。
    • array_replace(array, old_value, new_value):将数组中所有等于 old_value 的元素替换为 new_value。
    • array_agg(expression):将多个表达式的值聚合成一个数组。
    • array_distinct(array):返回数组中的唯一元素组成的数组。
    • array_fill(value, start, count):用指定值填充数组的指定范围。
    • array_position(array, element):返回元素在数组中首次出现的位置,如果没有找到则返回 NULL。
    • array_to_string(array, delimiter):将数组转换为以指定分隔符分隔的字符串。
    • string_to_array(string, delimiter):将指定分隔符分隔的字符串转换为数组。
  6. 其他类型函数:

    • json_extract_path(json, path):从 JSON 对象中提取指定路径的值。
    • jsonb_extract_path(jsonb, path):从 JSONB 对象中提取指定路径的值。
    • json_agg(expression):将多个表达式的值聚合成一个 JSON 数组。
    • jsonb_agg(expression):将多个表达式的值聚合成一个 JSONB 数组。
    • xmlforest(path, …):从 XML 对象中提取指定路径的元素,并将它们作为数组返回。
    • xmlconcat(xml1, xml2, …):将多个 XML 对象连接成一个 XML 对象。
    • xmlelement(name, content):创建一个具有指定名称和内容的 XML 元素。
    • xmlforest(path, …):从 XML 对象中提取指定路径的元素,并将它们作为数组返回。
    • xmlconcat(xml1, xml2, …):将多个 XML 对象连接成一个 XML 对象。
    • xmlelement(name, content):创建一个具有指定名称和内容的 XML 元素。

这些函数只是 PostgreSQL 支持的众多函数中的一部分。您可以根据需要选择合适的函数来处理不同类型的数据。

0