| 序号 |
Oracle 数据库的函数 |
TDSQL PG 数据库是否支持 |
描述 |
| 1 |
CHR(n)CHR(n USING NCHAR_CS) |
支持 |
返回指定参数 n 对应的字符,如指定 USING NCHAR_CS,则返回国家字符集中的值。 |
| 2 |
CONCAT(char1, char2) |
支持 |
返回一个字符串,由两个参数值 char1 和 char2 拼接结果。 |
| 3 |
INITCAP(char) |
支持 |
返回一个字符串,它将参数指定的字符串中的每个单词的首字母转为大写,其他字母转为小写。 |
| 4 |
LOWER(char) |
支持 |
返回给定字符串的小写形式。 |
| 5 |
LPAD(expr1, n, expr2) |
支持 |
返回一个字符串,它使用给定的字符序列填充到原字符串的左侧,使其具有指定的长度。 |
| 6 |
LTRIM(char, set) |
支持 |
返回一个删除任何指定的前导字符(默认为空格)的字符串。 |
| 7 |
NCHAR(number) |
支持 |
返回一个字符,是给定的整数参数对应的 NVARCHAR2 类型的字符 |
| 8 |
NLS_INITCAP(char, 'nlsparam') |
支持 |
返回一个字符串,它将参数指定的字符串中的每个单词的首字母转为大写,其他字母转为小写。 |
| 9 |
NLS_LOWER(char, 'nlsparam') |
支持 |
返回给定字符串的小写形式。 |
| 10 |
NLS_UPPER(char, 'nlsparam') |
支持 |
返回给定字符串的大写形式。 |
| 11 |
NLSSORT(char, 'nlsparam') |
支持 |
返回给定字符串的排序规则键以及显式或隐式指定的排序规则。 |
| 12 |
REGEXP_REPLACE(source_char, pattern)REGEXP_REPLACE(source_char, pattern, replace_string)REGEXP_REPLACE(source_char, pattern, replace_string, position)REGEXP_REPLACE(source_char, pattern, replace_string, position, occurrence)REGEXP_REPLACE(source_char, pattern, replace_string, position, occurrence, match_param) |
支持 |
在一个字符串中 source 使用新内容 replace_string 替换一个和指定的正则表达式 pattern 匹配的内容,返回替换后的内容。可通过 position 指定开始搜索的起始位置。默认为1。可指定 occurrence 返回第几次出现结果。默认为0,即全部替换。可指定 match_param 执行采用的匹配模式,如 'i' 指定不区分大小写的匹配,即使确定的条件排序规则区分大小写。 |
| 13 |
REGEXP_SUBSTR(source_char, pattern)REGEXP_SUBSTR(source_char, pattern, position)REGEXP_SUBSTR(source_char, pattern, position, occurrence)REGEXP_SUBSTR(source_char, pattern, position, occurrence, match_param)REGEXP_SUBSTR(source_char, pattern, position, occurrence, match_param, subexpr) |
支持 |
从一个给定的源字符串 source_char 中搜索并返回一个与给定的正则表达式 pattern 匹配的字符串。可指定 position 表示开始搜索的起始位置。默认为1。 可指定 occurrence 返回第几次出现的结果。默认为1。可指定 match_param 执行采用的匹配模式,如 'i' 指定不区分大小写的匹配,即使确定的条件排序规则区分大小写。 |
| 14 |
REPLACE(char, search_string [, replacement_string ]) |
支持 |
返回一个字符串,它将源字符串中的所有的 search_string 用 replacement_string 替换掉。 |
| 15 |
RPAD(str, len [, padstr ]) |
支持 |
返回一个字符串,把指定的字符序列 padstr (默认为空格)填充到原字符串 str 的右侧,使其具有指定的长度 len。 |
| 16 |
RTRIM(str [, set ]) |
支持 |
返回一个字符串,其为删除 str 指定的尾随字符 set(默认为空格)的字符串。 |
| 17 |
SOUNDEX(str) |
支持 |
将普通字符串 str 转换为 SOUNDEX 字符串,Soundex 是一种语音算法。如果两个单词听起来相同,则它们应具有相同的 Soundex 字符串。 |
| 18 |
SUBSTR(char, position [, substring_length ]) |
支持 |
从一个字符串 char 中返回一个从指定位置 position 开始的指定长度substring_length (如果不指定,则提取到原字符串的结尾)的子字符串。 |
| 19 |
TRANSLATE(string, from_string, to_string) |
支持 |
返回一个翻译后的字符串,将 string 中的所有在 from_string 指定的字符翻译成在 to_string 中对应的字符。 |
| 20 |
TRIM(str)TRIM(trim_character FROM str)TRIM({BOTH / LEADING / TRAILING} trim_character FROM str) |
支持 |
返回一个删除任何指定的前导和尾随字符(默认为空格)的字符串。如果不指定 BOTH, LEADING,TRAILING,则默认值为 BOTH。如果不指定 trim_character,则默认值为一个空格。 |
| 21 |
UPPER(str) |
支持 |
返回指定字符串 str 的大写形式。 |
| 22 |
ASCII(character) |
支持 |
根据数据库字符集返回字符型数值 character 第一个字符的 ascii 码。 |
| 23 |
INSTR(string , substring [, position [, occurrence ] ]) |
支持 |
返回一个整数,子字符串 substring 在字符串 string 中的索引位置。 |
| 24 |
LENGTH(str) |
支持 |
返回指定字符串 str 的长度。 |
| 25 |
REGEXP_COUNT(source_char, pattern)REGEXP_COUNT(source_char, pattern, position)REGEXP_COUNT(source_char, pattern, position, match_param) |
支持 |
返回一个整数,指定的正则表达式 pattern 模式在一个源字符串 source_char 中出现的次数。position 可选的, 是一个整数,表示开始搜索的起始位置。默认为 1。match_param 可选的, 表示执行匹配采用的模式,包括:'i' 指定不区分大小写的匹配,即使确定的条件排序规则区分大小写。'c' 指定区分大小写和区分重音的匹配,即使确定的条件排序规则不区分大小写或不区分重音。'n' 允许句点 (.)(匹配任意字符)匹配换行符。如果省略此参数,则句点与换行符不匹配。'm' 将源字符串视为多行。'x' 忽略空白字符。 |
| 26 |
REGEXP_INSTR(source_char, pattern)REGEXP_INSTR(source_char, pattern, position)REGEXP_INSTR(source_char, pattern, position, occurrence)REGEXP_INSTR(source_char, pattern, position, occurrence, return_opt)REGEXP_INSTR(source_char, pattern, position, occurrence, return_opt, match_param)REGEXP_INSTR(source_char, pattern, position, occurrence, return_opt, match_param, subexpr) |
支持 |
返回一个整数,其为指定的正则表达式 pattern 模式在一个源字符串 source_char 中匹配的子串的索引。position 可选的。它是一个整数,指示开始搜索的起始位置。默认为 1。occurrence 可选的。它是一个整数,指示要返回的是第几次出现。默认为1。return_opt 可选的。指定返回哪一种位置索引。如果为0,返回匹配的子串的第一个字符的位置索引;如果为1,返回匹配的子串的后面的位置索引。默认为0。 subexpr 可选的, 从0到9,0 表示整个正则表达式, 1-9 表示正则表达式中的分组。默认值为 0。 |
| 序号 |
Oracle 数据库的函数 |
TDSQL PG 数据库是否支持 |
描述 |
| 1 |
ADD_MONTHS(date, months) |
支持 |
在指定的日期 date 上增加或减少指定月数 months。 |
| 2 |
CURRENT_DATE |
支持 |
返回当前会话时区对应的当前日期。 |
| 3 |
CURRENT_TIMESTAMP |
支持 |
返回当前会话时区中的当前日期和时间。 |
| 4 |
DBTIMEZONE |
支持 |
返回数据库的时区。 |
| 5 |
EXTRACT(field FROM expr) |
支持 |
从日期时间或间隔表达式 expr 中提取并返回指定的日期字段 field 的值。field包括 YEAR, MONTH, DAY, HOUR, MINUTE, SECOND。 |
| 6 |
FROM_TZ(timestamp_value, time_zone_value) |
支持 |
将一个时间戳值 timestamp_value 和时区值 time_zone_value 转换为一个带有时区的时间戳值, 如:FROM_TZ(TIMESTAMP '2024-03-20 13:14:52', '+05:00') => 2024-03-20 13:14:52.000000000 +05:00 |
| 7 |
LAST_DAY(date) |
支持 |
返回指定日期 date 所在月份的最后一天。 |
| 8 |
LOCALTIMESTAMPLOCALTIMESTAMP(precision) |
支持 |
返回当前会话时区中的当前日期和时间。precision 可选,表示返回时间值的小数秒精度。 |
| 9 |
MONTHS_BETWEEN(date1, date2) |
支持 |
返回两个给定日期之间的月数。 |
| 10 |
NEXT_DAY(date, char) |
支持 |
返回晚于指定日期的指定第一个工作日的日期, 如 NEXT_DAY('2024-03-20', 'Tuesday') => 2024-03-26 00:00:00 |
| 11 |
NUMTODSINTERVAL(n, 'interval_unit') |
支持 |
将指定的数字 n 转为 INTERVAL DAY TO SECOND 文本。interval_unit 包括 DAY,HOUR,MINUTE,SECOND 等。 |
| 12 |
NUMTOYMINTERVAL(n, 'interval_unit') |
支持 |
将指定的数字转为 INTERVAL YEAR TO MONTH 文本。interval_unit 包括 'YEAR' 和 'MONTH'。 |
| 13 |
ROUND(date)ROUND(date, fmt) |
支持 |
将指定的日期 date 四舍五入到指定的单位。fmt 可选,指定四舍五入的单位,如未指定此参数,date 将被四舍五入到最近的天, 如 YYYY, YEAR, MONTH 等。 |
| 14 |
SESSIONTIMEZONE |
支持 |
返回当前会话的时区的值,返回类型是时区偏移量(格式 [+|-]TZH:TZM)或时区区域名称。 |
| 15 |
SYS_EXTRACT_UTC(datetime_with_timezone) |
支持 |
从具有时区偏移量或者时区名的日期时间值 datetime_with_timezone 中提取 UTC。 |
| 16 |
SYSDATE |
支持 |
返回数据库服务器所在的操作系统设置的当前日期和时间。 |
| 17 |
SYSTIMESTAMP |
支持 |
返回数据库服务器所在的操作系统设置的当前日期和时间,包括小数秒和时区。 |
| 18 |
TO_CHAR(expr [, fmt [, 'nlsparam' ] ]) |
支持 |
将指定的日期时间或者间隔表达式 expr 根据指定的格式 fmt 转化为字符串。 |
| 19 |
TO_DSINTERVAL(str, [ DEFAULT return_value ON CONVERSION ERROR ]) |
支持 |
将指定的字符串 str 参数转为一个 INTERVAL DAY TO SECOND 类型的值。 |
| 20 |
TO_TIMESTAMP(str [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将指定的字符串 str 转为一个 TIMESTAMP 类型的值。 |
| 21 |
TO_TIMESTAMP_TZ(str [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将指定的字符串 str 参数转为一个 TIMESTAMP WITH TIME ZONE 类型的值。 |
| 22 |
TO_YMINTERVAL(str, [ DEFAULT return_value ON CONVERSION ERROR ]) |
支持 |
将指定的字符串 str 转为一个 INTERVAL MONTH TO YEAR 类型的值。 |
| 23 |
TRUNC(date)TRUNC(date, fmt) |
支持 |
将指定的日期截断到指定的单位。 |
| 24 |
TZ_OFFSET(tz) |
支持 |
根据语句的执行日期返回与参数对应的时区偏移量。 |
| 序号 |
Oracle 数据库的函数 |
TDSQL PG 数据库是否支持 |
描述 |
| 1 |
ASCIISTR(str) |
支持 |
以数据库字符集返回给定字符串的 ASCII 版本。 |
| 2 |
BIN_TO_NUM(expr [, expr ]… ) |
支持 |
返回由参数指定的位向量转换为的数字。 |
| 3 |
CAST({ expr | MULTISET (subquery) } AS type_name [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将指定的参数 expr 从一种类型转换为另一种类型 type_name。 |
| 4 |
CHARTOROWID(rowid_str) |
支持 |
将指定的字符串值 rowid_str 转换为 ROWID 数据类型。 |
| 5 |
CONVERT(char, dest_char_set[, source_char_set ]) |
支持 |
将指定的字符串 char 从一个字符集 source_char_set(默认值为数据库字符集)转为另一个字符集 dest_char_set。 |
| 6 |
HEXTORAW(str) |
支持 |
将指定参数 str 的十六进制值转为原始值。 |
| 7 |
RAWTOHEX(raw) |
支持 |
将原始值转换为一个包含其十六进制表示的字符值。 |
| 8 |
ROWIDTOCHAR(rowid) |
支持 |
将给定的 rowid 值转为 VARCHAR2 类型。 |
| 9 |
TO_BINARY_DOUBLE(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将给定的表达式转换为双精度浮点数。 |
| 10 |
TO_BINARY_FLOAT(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将给定的表达式转换为浮点数。 |
| 11 |
TO_CHAR (character) |
支持 |
将 NCHAR、 NVARCHAR2、 CLOB 或 NCLOB 数据转换为数据库字符集。 |
| 12 |
TO_CHAR (datetime) |
支持 |
将给定的日期时间或者间隔值根据指定的格式转化为字符串。 |
| 13 |
TO_CHAR (number) |
支持 |
使用可选的格式参数将给定的数值转换为 VARCHAR2 数据类型的值。 |
| 14 |
TO_DATE |
支持 |
根据可选的格式将给定的字符串日期转为 DATE 数据类型的值。 |
| 15 |
TO_DSINTERVAL(str, [ DEFAULT return_value ON CONVERSION ERROR ]) |
支持 |
将给定的字符串参数转为一个 INTERVAL DAY TO SECOND 类型的值。 |
| 16 |
TO_NCLOB(lob_column | char) |
支持 |
将 LOB 列或其他字符字符串中的 CLOB 值转换为 NCLOB 值。 |
| 17 |
TO_MULTI_BYTE(char) |
支持 |
将给定的参数中的所有单字节字符转换为相应的多字节字符,并返回与参数相同数据类型的值。 |
| 18 |
TO_NUMBER(expr [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将给定的参数转换为 NUMBER 数据类型的值。 |
| 19 |
TO_SINGLE_BYTE(char) |
支持 |
将给定的参数中的所有多字节字符转换为相应的单字节字符,并返回与参数相同数据类型的值。 |
| 20 |
TO_TIMESTAMP(str [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将给定的字符串参数转为一个 TIMESTAMP 类型的值。 |
| 21 |
TO_TIMESTAMP_TZ(str [ DEFAULT return_value ON CONVERSION ERROR ] [, fmt [, 'nlsparam' ] ]) |
支持 |
将给定的字符串参数转为一个 TIMESTAMP WITH TIME ZONE 类型的值。 |
| 22 |
TO_YMINTERVAL(str, [ DEFAULT return_value ON CONVERSION ERROR ]) |
支持 |
将给定的字符串参数转为一个 INTERVAL MONTH TO YEAR 类型的值。 |