- 最新动态
- 功能总览
-
服务公告
- 漏洞公告
-
产品公告
- 【停售公告】华为云云数据库RDS for PostgreSQL 12版本于2025年5月1日00:00(北京时间)停售通知
- 【下线公告】华为云云数据库RDS for PostgreSQL 10、11版本于2024年11月1日00:00(北京时间)下线通知
- 【停售公告】华为云云数据库RDS for MySQL 5.6版本于2024年7月1日00:00(北京时间)停售通知
- 【停售公告】华为云云数据库RDS for PostgreSQL 10、11版本于2024年7月1日00:00(北京时间)停售通知
- 【下线公告】华为云云数据库RDS for PostgreSQL 9.5、9.6版本于2024年7月1日00:00(北京时间)下线通知
- RDS for MySQL产品公告
- 【通知】2024年5月28日起RDS for MySQL内存加速特性开放公测
- 历史公告
- 产品发布说明
- 产品介绍
- 计费说明
- 快速入门
- 内核介绍
-
用户指南
- RDS for MySQL用户指南
- RDS for MariaDB用户指南
- RDS for PostgreSQL用户指南
- RDS for SQL Server用户指南
-
最佳实践
- RDS最佳实践汇总
- RDS for MySQL
- RDS for PostgreSQL
-
RDS for SQL Server
- 恢复备份文件到RDS for SQL Server实例的版本限制
- 使用导入导出功能将ECS上的SQL Server数据库迁移到RDS for SQL Server
- 修改RDS for SQL Server实例的参数
- RDS SQL Server支持DMV动态管理视图
- 使用导入导出功能将本地SQL Server数据库迁移到RDS for SQL Server
- 在rdsuser主账号下创建子账号
- RDS for SQL Server如何实现异地容灾
- 创建tempdb临时数据文件
- Microsoft SQL Server发布与订阅
- RDS for SQL Server添加c#CLR程序集的使用方法
- RDS for SQL Server添加链接服务器
- RDS for SQL Server 如何将线下SSRS报表服务部署上云
- RDS for SQL Server收缩数据库
- 使用DAS在RDS for SQL Server主备实例上分别创建和配置Agent Job和Dblink
- 创建实例定期维护job
- 使用扩展事件
- 性能白皮书
-
API参考
- 使用前必读
- API概览
- 如何调用API
- API v3.1(推荐)
-
API v3(推荐)
- 查询API版本
- 查询数据库引擎的版本
- 查询数据库规格
- 查询数据库磁盘类型
- 获取磁盘空间使用量
-
实例管理
- 创建数据库实例
- 创建数据库实例(v5接口)
- 按需转包周期
- 停止实例
- 批量停止实例
- 开启实例
- 修改实例名称
- 修改实例备注
- 申请内网域名
- 修改内网域名
- 查询实例域名
- 查询实例IPv6域名
- 获取实例的复制状态
- 查询数据库可变更规格接口
- 变更数据库实例的规格
- 扩容数据库实例的磁盘空间
- 设置自动扩容策略
- 查询自动扩容策略
- 单机转主备实例
- 重启数据库实例
- 删除数据库实例
- 查询数据库实例列表
- 绑定和解绑弹性公网IP
- 切换主备实例的倒换策略
- 手动倒换主备
- 更改主备实例的数据同步方式
- 设置实例读写状态
- 迁移主备实例的备机
- 设置可维护时间段
- 升级内核小版本
- 设置实例内核小版本自动升级策略(PostgreSQL)
- 查询实例内核小版本自动升级策略(PostgreSQL)
- 设置秒级监控策略
- 查询秒级监控策略
- 开启实例TDE(SQL Server)
- 查询实例TDE状态(SQL Server)
- 解除节点只读状态
- 灾备实例
- 数据库安全性
- 备份与恢复
- 大版本升级
- 获取日志信息
- 实例诊断
- SQL限流(PostgreSQL)
- 数据库代理(MySQL)
- 管理数据库和用户(MySQL)
- 管理数据库和用户(PostgreSQL)
- 管理数据库和用户(SQL Server)
- 参数管理
- 插件管理(PostgreSQL)
- 配置只读延迟库(PostgreSQL)
- 回收站
- 标签管理
- 配额管理
- 获取任务信息
- 历史API
- 权限和授权项
- 附录
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用RDS要注意些什么
- RDS实例是否会受其他用户实例的影响
- 不同RDS实例的CPU和内存是否共享
- 创建RDS实例需要多长时间
- 为何使用了RDS后网站登录较慢
- 为什么新购买实例比规格变更实例价格便宜
- 主备同步存在多长时间的延迟
- 多台弹性云服务器是否可以使用同一个RDS数据库
- RDS购买磁盘加密后,备份文件会加密吗
- 什么是RDS实例可用性
- 云数据库RDS支持跨AZ高可用吗
- RDS是否支持主备实例变更为单机实例
- RDS for MySQL与TaurusDB的区别
- 为什么无法找到云数据库RDS实例
- 云数据库RDS是否支持CloudPond
- RDS for MySQL实例支持哪些加密函数
- RDS for MySQL是否兼容MariaDB
- RDS for MySQL是否支持TokuDB
- RDS for MySQL开启GTID后有哪些限制
- RDS for MySQL是否有单表尺寸限制
- 登录RDS实例时能使用加密密码认证吗
- RDS实例内网IP和私有IP的区别
- 找不到我的RDS资源怎么办
- 资源冻结/释放/停止/删除/退订
- 资源及磁盘管理
-
数据库连接
- RDS实例连接失败怎么办
- RDS数据库连接数满的排查思路
- RDS数据库实例支持的最大数据连接数是多少
- 内网方式下ECS无法连接RDS实例的原因
- 客户端问题导致连接RDS实例失败
- 服务端问题导致连接RDS实例失败
- 应用程序是否需要支持自动重连RDS数据库
- RDS绑定公网IP后无法ping通的解决方案
- RDS跨地域内网能访问吗
- 为什么RDS实例重置密码后新密码没有生效
- 可以访问RDS备实例吗
- 如何查看RDS for MySQL数据库的连接情况
- 连接RDS for SQL Server数据库时,连接超时是否会自动退出
- RDS for SQL Server连接不上的判断方法
- 外部服务器能否访问RDS数据库
- ECS内网访问RDS,是否受带宽限制
- Navicat如何配置SSL CA证书
- 如何安装SQL Server Management Studio
- 数据库迁移
-
数据库权限
- RDS的root账号为什么没有super权限
- RDS ManageAccess权限和DAS权限有什么区别
- 本地客户端连接RDS实例后如何查看已授权的数据库
- 使用DAS登录RDS数据库是否有人数限制,密码多次输入错误有无锁死机制
- RDS for MySQL是否支持多账号
- 普通用户在postgres数据库下创建对象失败
- 删除RDS for PostgreSQL数据库中的角色失败
- RDS for PostgreSQL数据迁移过程中由于权限问题导致迁移报错
- 如何给RDS for PostgreSQL数据库中的用户赋予REPLICATION权限
- 更改云数据库 RDS for PostgreSQL数据库中表的OWNER报错
- RDS for SQL Server 2017 企业版主备实例的登录名权限如何同步到只读实例
- RDS for SQL Server中主实例的账号删除重建后,权限是否会自动同步
- 数据库存储
- 数据库基本使用
- 备份与恢复
- 只读实例和读写分离
- 数据库监控
- 扩容及规格变更
-
数据库参数修改
- RDS是否支持使用SQL命令修改全局参数
- 如何修改RDS实例的时区
- 如何设置RDS for MySQL 8.0字符集的编码格式
- 如何设置RDS for MySQL的表名是否区分大小写
- 如何设置RDS for MySQL实例开启查询缓存
- 如何设置RDS for MySQL实例的密码过期策略
- 如何修改RDS for MySQL实例的事务隔离等级
- 如何确保RDS for MySQL数据库字符集正确
- 如何使用utf8mb4字符集存储emoji表情到RDS for MySQL实例
- RDS for PostgreSQL的哪些参数设置不合理会导致数据库不可用
- 如何设置RDS for PostgreSQL实例的临时文件磁盘占用上限
- 如何设置RDS for PostgreSQL实例支持test_decoding插件
- 如何在RDS for SQL Server数据库添加ndf文件的路径
- 如何修改RDS for SQL Server字符集的排序规则
- 日志管理
- 网络安全
- 版本升级
- RDS API&SDK等开发者相关
-
产品咨询
-
故障排除
-
RDS for MySQL
- 备份恢复
- 主备复制
- 参数类
-
性能资源类
- CPU使用率高问题排查与优化
- 内存使用超限风险与优化
- 磁盘性能带宽超上限
- 联合索引设置不当导致慢SQL
- 数据库磁盘满导致被设置read_only
- Binlog未清理导致磁盘占用高
- 业务死锁导致响应变慢
- MySQL只读实例磁盘占用远超主实例
- RDS for MySQL CPU升高定位思路
- 冷热数据问题导致sql执行速度慢
- CPU/内存配置与TPS和QPS性能相关的问题
- 表碎片率过高可能导致的问题
- 复杂查询造成磁盘满
- 怎么解决查询运行缓慢的问题
- 长事务导致规格变更或小版本升级失败
- RDS for MySQL数据库报错Native error 1461的解决方案
- RDS for MySQL增加表字段后出现运行卡顿现象
- 长事务导致UNDO增多引起磁盘空间满
- RDS for MySQL如何定位一直存在的长事务告警
- RDS for MySQL部分SQL的commit时间偶现从几毫秒陡增到几百毫秒
- 本地SSD盘规格降配选不到资源
- ibdata1为什么会变大
-
SQL类
- RDS for MySQL执行SQL报错无法识别双引号
- 更新emoji表情数据报错Error 1366
- 索引长度限制导致修改varchar长度失败
- 建表时timestamp字段默认值无效
- 自增属性AUTO_INCREMENT为什么未在表结构中显示
- 存储过程和相关表字符集不一致导致执行缓慢
- RDS MySQL报错ERROR [1412]的解决方法
- 创建二级索引报错Too many keys specified
- 存在外键的表删除问题
- distinct与group by优化
- 字符集和字符序的默认选择方式
- MySQL创建用户提示服务器错误
- delete大表数据后,再次查询同一张表时出现慢SQL
- 设置事件定时器后未生效
- 为什么有时候用浮点数做等值比较查不到数据
- 开通数据库代理后有大量select请求分发到主节点
- 执行RENAME USER失败的解决方法
- 有外键的表无法删除报错ERROR[1451]的解决方案
- 表字段类型转换失败的解决方法
- RDS for MySQL创建表失败报错Row size too large的解决方案
- RDS for MySQL数据库报错ERROR [1412]的解决方案
- 外键使用不规范导致实例重启失败或执行表操作报错ERROR 1146: Table 'xxx' doesn't exist
- RDS for MySQL在分页查询时报错:Out of sort memory, consider increasing server sort buffer size
- RDS for MySQL创建用户报错:Operation CREATE USER failed
- RDS for MySQL使用grant授权all privileges报语法错误
- RDS for MySQL 5.6版本实例创建表报错
- 无主键表添加自增主键后导致主备节点查询数据不一致
- RDS for MySQL插入数据提示Data too long for column
-
连接类
- 连接数据库报错Access denied
- mariadb-connector SSL方式连接数据库失败
- RDS for MySQL建立连接慢导致客户端超时报connection established slowly
- root账号的ssl_type修改为ANY后无法登录
- 通过DAS登录实例报错Client does not support authentication protocol requested by server
- 通过DAS授权或取消授权时报错Your password does not satisfy the current policy requirements
- 客户端TLS版本与RDS for MySQL不一致导致SSL连接失败
- 使用root账号连接数据库失败
- RDS for MySQL客户端连接实例后会自动断开
- RDS for MySQL实例无法访问
- RDS for MySQL数据库修改authentication_string字段为显示密码后无法登录
- RDS for MySQL升级版本后,导致现有配置无法正常连接到MySQL-server
- 客户端超时参数设置不当导致连接超时退出
- RDS for MySQL在启用了SSL验证连接功能后,导致代码(php/java/python)等连接数据库失败
- istio-citadel证书机制导致每隔45天出现断连
- 数据库版本升级后Navicat客户端登录实例报错1251
-
其他使用问题
- 慢日志显示SQL语句扫描行数为0
- SQL诊断结果中记录的行数远小于慢日志中的扫描行数
- RDS for MySQL慢日志里面有毫秒级别的SQL
- 查看RDS存储空间使用量
- 错误日志报错The table is full
- 审计日志上传策略说明
- 自增字段取值
- 表的自增AUTO_INCREMENT初值与步长
- 表的自增AUTO_INCREMENT超过数据中该字段的最大值加1
- 自增字段值跳变的原因
- 修改表的自增AUTO_INCREMENT值
- 自增主键达到上限,无法插入数据
- 空用户的危害
- pt-osc工具连接RDS for MySQL主备实例卡住
- 购买RDS实例支付报错:Policy doesn't allow bss:order:update to be performed
- RDS for MySQL是否可以修改数据库名称
- 购买RDS实例报错:无IAM的agency相关权限
- RDS for PostgreSQL
- RDS for SQL Server
-
RDS for MySQL
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
函数
本章节介绍了在PostgreSQL11开源版本的基础上,RDS for PostgreSQL增强版支持的内置函数和高级函数包。
内置函数 |
说明 |
---|---|
add_months(date,integer) |
返回date加上integer的值,返回值为DATE类型。 |
appendchildxml(XMLType_instance, XPath_string, value_expr[, namespace_string]) |
在XMLType类型数据XMLType_instance指定位置XPath_string处追加value_expr节点,其中namespace_string用于描述XPath_string的命名空间信息。 |
asciistr(string) |
返回给定字符串string对应的ASCII值,不支持非ASCII字符。 |
bin_to_num(expr_list) |
将expr_list中的二进制串转换为对应的十进制数,返回值类型为NUMBER。 |
bitand(number1,number2) |
返回number1和number2按位与的值,返回值为BIT类型。 |
convert(char, dest_char_set[, source_char_set]) |
将source_char_set字符集编码格式的输入字符串char,转换为dest_char_set字符集编码格式,该函数只在服务端生效。 |
cosh(n) |
返回参数n的双曲余弦值; |
decode(expr,search1, result1[[,search2, result2],......][, default]) |
将expr表达式值依次与所有search表达式(search1,search2......)进行比较,如果与searchn进行匹配,则返回resultn,否则返回default。如果没有default,返回null。 |
empty_blob() |
返回一个空BLOB类型。 |
hextoraw(char) |
将十六进制字符串转换为RAW类型的值。 |
instrb(string, substring[, position[, occurrence]]) |
返回从字符string的第position位置开始,第occurrence次出现的子串substring起始位置,默认从字符串string首部开始第一次出现的位置。 |
last_day(date) |
返回date所在月的最后一天。 |
lengthb(char) |
返回char字符的字节长度,char支持的类型为所有字符串类型(如CHAR, VARCHAR2, NCHAR, NVARCHAR2等)或可隐式转换为字符串的类型(如integer等)。 |
listagg(measure_expr[, 'delimiter']) within group(order_by_clause) [over query_partition_clause] |
将query_partition_clause分组中的每个列表达式measure_expr值按order_by_clause规则排序后,再合并成一行,值之间使用delimiter分隔符进行分隔。 |
lnnvl(condition) |
返回条件表达式condition的取反值,返回类型为BOOLEAN。 |
mod(n2, n1) |
支持除数为0的情况,即当n1为0时,直接返回n2。 |
months_between(date1, date2) |
返回date1与date2之间相差的月数,当date2早于date1,返回值为负数。 |
nanvl(n2, n1) |
当单精度或双精度浮点数n2的值为NAN,则返回n1,否则返回n2。 |
nchr(number) |
返回本地字符集中二进制与number相等的字符。 |
new_time(date, timezone1, timezone2) |
返回timezone1的date时间对应的timezone2的时间,返回值类型为DATE。 |
next_day(date, char) |
返回date后的第一个自然日(包括工作日、休息日和节假日),返回值为DATE类型。 |
numtodsinterval(n, interval_unit) |
根据INTERVAL数据类型单元interval_unit(取值范围:'DAY'、'HOUR'、'MINUTE'、'SECOND'),将数字n转换为数据类型INTERVAL DAY TO SECOND。 |
numtoyminterval(n, 'interval_unit') |
将数字n按照指定单位interval_unit转为数据类型INTERVAL YEAR TO MONTH,其中interval_unit取值为:YEAR、MONTH。 |
nlssort(char[, nlsparam]) |
按照nlsparam指定的排序字符集对字符串char进行排序,默认使用char字符串字符集排序; |
nls_upper(char[, nlsparam]) |
根据nlsparam指定的排序规则将字符串char中的字母转换为大写,其中char字符串类型为CHAR, VARCHAR2, NCHAR, NVARCHAR2,CLOB或NCLOB,nlsparam的取值为'NLS_SORT = sort'。 |
nls_lower(char[, nlsparam]) |
根据nlsparam指定的排序规则将字符串char中的字母转换为小写,其中char字符串类型为CHAR, VARCHAR2, NCHAR, NVARCHAR2,CLOB或NCLOB,nlsparam的取值为'NLS_SORT = sort'。 |
nvl(expr1, expr2) |
返回expr1, expr2中第一个非空值。 |
rawtohex(raw) |
将RAW类型的值转换为十六进制字符串。 |
regexp_count(source_char, pattern, position, match_param) |
返回指定字符串source_char中的指定位置position开始,匹配正则表达式模式pattern的次数。其中,match_param参数会影响正则表达式匹配规则,比如match_param='i'忽略大小写等。 |
regexp_instr(source_char, pattern[, position[, occurrence[, return_opt[, match_param[, subexpr]]]]]) |
该函数拓展了INSTR函数的功能,允许使用正则表达式匹配,返回值类型为INTEGER。
|
regexp_like(source_char, pattern[,match_param]) |
source_char为字符串表达式,pattern为正则表达式,match_param为正则表达式控制参数,返回字符串source_char是否可按照正则表达式pattern进行匹配。 |
regexp_substr(source_char, pattern[,position[,occurrence[,match_param[,subexpr]]]]) |
按正则表达式在source_char字符串中匹配子字符串。
|
raise_application_error(errnum, errmsg) |
将错误码errnum与错误消息errmsg输出到客户端。 |
remainder(n2, n1) |
返回n2/n1的余数,类似于mod,区别在于,mod取余时用了floor处理,而remainder使用round处理。返回值类型为NUMERIC或双精度浮点数(由入参类型决定)。 |
round(n,precision) |
返回n的四舍五入值,precision为精度值。 |
scn_to_timestamp(number) |
返回SCN号number产生的最近时间戳; |
sinh(n) |
返回数字n的双曲正弦值,当n类型为BINARY_FLOAT,返回类型BINARY_DOUBLE,否则返回值类型为NUMERIC。 |
substr(char,position[,substring_length]) |
返回char字符串中第position个字符开始,长度为substring_length的子字符串。若不指定substring_length,则截取到字符串结尾。 |
substrb(char, position[, substring_length]) |
返回char字符串中第position个字节开始,长度为substring_length字节的子字符串。若不指定substring_length,则截取到字符串结尾。 |
sys_context(namespace, parameter) |
返回指定参数parameter在命名空间namespace下的值,返回值类型为VARCHAR2。 |
sys_guid() |
返回RAW类型的全局唯一标识。 |
sys_connect_by_path(column, char) |
仅适用于CONNECT BY查询,返回column列的根节点; |
tanh(n) |
返回参数n的双曲正切值; |
to_blob(char) |
将char字符串转换为BLOB类型,char支持的类型为所有字符串类型(如CHAR, VARCHAR2, NCHAR, NVARCHAR2等)或可隐式转换为字符串的类型(如integer等)。 |
to_binary_float(expr) |
将数字字符串expr转换为单精度float类型。 |
to_binary_double(expr) |
将数字字符串expr转换为双精度float类型。 |
to_clob(char) |
将char字符串转换为CLOB数据类型。 |
to_char(char) |
增加char支持的类型:char、character、varchar。 |
to_date(char[,fmt]) |
将char时间字符串按照fmt格式转换为date数据类型,char支持的类型有CHAR、VARCHAR2、NCHAR、 NVARCHAR2、TIMESTAMP。如果省略fmt,则char必须采用DATE数据类型的默认格式。 |
to_dsinterval('sql_format' | 'ds_iso_format') |
将SQL标准(如'100 00:00:00')或ISO标准(如'P100DT05H')的时间字符串转换为数据类型INTERVAL DAY TO SECOND。 |
to_multi_byte(char) |
将单字节字符char转换成对应的多字节字符。 |
to_number(expr) |
将expr表达式值转换为number类型。 |
to_number(expr, fmt, 'nlsparam') |
按照指定格式fmt转换expr字符串为数字,返回类型为NUMBER,其中nlsparam为国际化语言参数,支持的参数分别为:NLS_NUMERIC_CHARACTERS、NLS_CURRENCY、NLS_ISO_CURRENCY。 |
to_timestamp(char[,fmt]) |
将char时间字符串按照fmt格式转换为timestamp数据类型,char支持的类型有CHAR、VARCHAR2、NCHAR、 NVARCHAR2、TIMESTAMP。如果省略fmt,则char必须采用TIMESTAMP数据类型的默认格式。 |
to_single_byte(char) |
将多字节输入字符串转换为单字节字符串。 |
to_yminterval('sql_format' | 'ym_iso_format') |
将SQL标准(如'01-02')或ISO标准(如'P1Y2M')的时间字符串转换为数据类型INTERVAL MONTH TO YEAR。 |
timestamp_to_scn(timestamp) |
根据时间戳timestamp返回系统变更号SCN; |
trunc(date[, fmt]) |
按照fmt指定的日期格式对date进行截断处理,返回值类型为DATE。如果省略fmt,则默认日期格式为'DDD'。 |
tz_offset({time_zone_name | '{+|-}hh:mi'}) |
返回指定时区的偏移量,返回值类型VARCHAR2,参数可以是时区名time_zone_name或者'{+|-}hh:mi'格式字符串。 |
value(correlation_variable) |
以对象表的方式返回correlation_variable所关联表的记录行,返回类型为correlation_variable所关联的对象表。 |
高级函数包 |
说明 |
---|---|
DBMS_OUTPUT.PUT(item) |
将item字符串放入本地缓冲区;item为所有可以转换为字符串的类型。 |
DBMS_OUTPUT.PUT_LINE(item) |
将item字符串放入本地缓冲区,然后将整个本地缓冲区的内容整体输出;item为所有可以转换为字符串的类型。 |
DBMS_RANDOM.SEED(val) |
val为生成随机数的种子,可为字符串和数字类型。 |
DBMS_RANDOM.VALUE([low,high]) |
返回low和high之间长度为16位的随机数,如果不指定low和high的范围,则默认范围为0~1。 |
dbms_lob.getlength(lob_loc {clob|blob}) |
返回lob_loc指定的LOB对象长度; |
dbms_lob.read(lob_loc, amount, offset, buffer) |
从指定偏移offset读取LOB对象lob_loc指定长度amount的内容写入缓冲区buffer; |
dbms_lob.write(lob_loc, amount, offset, buffer) |
将buffer缓冲器的内容写入大对象lob_loc缓冲区(并不影响所引用的大对象),从offset开始写入长度为amount。 |
utl_raw.cast_to_raw(char) |
将VARCHAR2类型字符串char转换为RAW类型,返回值类型为RAW。 |
utl_raw.length(raw) |
返回raw数据类型的字节长度,返回值类型为NUMBER。 |
utl_raw.cast_from_binary_integer(n, endianess) |
按照endianess指定的内存对齐方式将整数n转换为RAW类型,其中endianess取值分别为:
|