检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
简单表达式 逻辑表达式 逻辑表达式的操作符和运算规则,请参见逻辑操作符。 比较表达式 常用的比较操作符,请参见比较操作符。 除比较操作符外,还可以使用以下句式结构: BETWEEN操作符 操作符BETWEEN...AND会选取介于两个值之间的数据范围。这些值可以是数值、文本或日期。 a BETWEEN
= 'JIM'子句使用索引。 在创建表达式索引时,如果表达式中包含IS NULL子句,则这种索引是无效的。此时,建议用户尝试创建一个部分索引。 COLLATE collation COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。
如果所删除的函数为重载函数,则删除时需要指明该函数的参数类型,如为非重载函数,则可直接指定函数名进行删除。 如果函数中涉及对临时表相关操作,则无法使用DROP FUNCTION删除函数。 语法格式 1 2 DROP FUNCTION [ IF EXISTS ] function_name
作cidr值。inet值也可以转换为cidr值,此时inet子网掩码右侧的所有位都将转换为零,以创建一个有效的cidr值。另外,用户还可以使用常规的类型转换语法将一个文本字符串转换为inet或cidr值。例如:inet(expression)或colname::cidr。 abbrev(inet)
_SUBSTR和REGXP_REPLACE)使用match_param参数来设置默认的匹配行为。DSC中,该参数仅支持“i”值(匹配不区分大小写)和“c”值(匹配区分大小写),不支持其他值。 Regexp(REGEXP_INSTR)使用return_option参数为regexp
而UNION ALLL则直接将结果集合并、不执行去重;只有递归项能够包含对于查询自身输出的引用。 使用递归WITH时,必须确保查询的递归项最终不会返回元组,否则查询将无限循环。 使用表tree来存储下图中的所有节点信息: 表定义语句如下: 1 CREATE TABLE tree(id
SQL统计信息。需特别注意该清理操作将由资源管理后台线程完成,若GUC参数dws_04_0922.html#ZH-CN_TOPIC_0000001233563121__sc1692143c357427cbeadd6160010fd40为off时清理操作可能失败,可直接使用函数reset_instr_unique_sql进行清理。
被当作是相同的类型,而忽略其大小或维度数。 也可以使用关键词ARRAY来定义一维数组。表books中的列price使用ARRAY定义并指定数组大小,如下所示: 1 price_by_quarter int ARRAY[4] 使用ARRAY定义,不指定数组尺寸: 1 price_by_quarter
ALL_SYNONYMS视图存储了当前用户可访问的所有同义词信息。 DBA_SYNONYMS视图存储关于数据库下的所有同义词信息。需要有系统管理员权限才可以访问。 USER_SYNONYMS视图存储当前用户可访问的同义词信息。 2 REDACTION_POLICIES REDACTION_COLUMNS
GaussDB(DWS)外表功能开发规范 规则4.1 GDS服务需单独使用服务器部署在DWS集群外 违反规范的影响: GDS如果部署在DWS集群内,会与DWS集群CN/DN节点发生资源争抢,导致双方性能同时劣化。 方案建议: GDS服务单独使用服务器部署在DWS集群外。 GDS所在服务器的磁盘能力
plan_hint子句 以/*+ */的形式在关键字后,用于对指定语句块生成的计划进行hint调优,详细用法请参见使用Plan Hint进行调优。 table_name 要更新的表名,可以使用模式修饰。 取值范围:已存在的表名称。 alias 目标表的别名。 取值范围:字符串,符合标识符命名规范。
plan_hint子句 以/*+ */的形式在关键字后,用于对指定语句块生成的计划进行hint调优,详细用法请参见使用Plan Hint进行调优。 table_name 要更新的表名,可以使用模式修饰。 取值范围:已存在的表名称。 alias 目标表的别名。 取值范围:字符串,符合标识符命名规范。
被当作是相同的类型,而忽略其大小或维度数。 也可以使用关键词ARRAY来定义一维数组。表books中的列price使用ARRAY定义并指定数组大小,如下所示: 1 price_by_quarter int ARRAY[4] 使用ARRAY定义,不指定数组尺寸: 1 price_by_quarter
目标表进行UPDATE,无法匹配时对目标表执行INSERT。此语法可以很方便地用来合并执行UPDATE和INSERT,避免多次执行。 如需使用实时数仓能力,请在DWS控制台创建集群时,选择存算一体1:4云盘规格,了解更多参见存算一体规格。 创建DWS集群选择1:8云盘规格为标准数
= 'JIM'子句使用索引。 在创建表达式索引时,如果表达式中包含IS NULL子句,则这种索引是无效的。此时,建议用户尝试创建一个部分索引。 COLLATE collation COLLATE子句指定列的排序规则(该列必须是可排列的数据类型)。如果没有指定,则使用默认的排序规则。
作cidr值。inet值也可以转换为cidr值,此时inet子网掩码右侧的所有位都将转换为零,以创建一个有效的cidr值。另外,用户还可以使用常规的类型转换语法将一个文本字符串转换为inet或cidr值。例如:inet(expression)或colname::cidr。 abbrev(inet)
作可以分为两个场景。 场景一:setA是setB的一个子集。 对于这种场景,直接对下层结果集进行汇聚的结果就是正确的汇聚结果,上层算子直接使用即可。如下图所示: 1 2 3 4 5 6 7 explain select a, count(1) from t1 group by a;
GaussDB(DWS)存储过程数据类型转换 数据库中允许有些数据类型进行隐式类型转换(赋值、函数调用的参数等),有些数据类型间不允许进行隐式数据类型转换,可尝试使用GaussDB(DWS)提供的类型转换函数,例如CAST进行数据类型强转。 GaussDB(DWS)数据库常见的隐式类型转换,请参见表1。
变量必须在declare部分声明,即必须建立BEGIN-END块。块结构也强制变量必须先声明后使用,即变量在过程内有不同作用域、不同的生存期。 同一变量可以在不同的作用域内定义多次,内层的定义会覆盖外层的定义。 在外部块定义的变量,可以在嵌套块中使用。但外部块不能访问嵌套块中的变量。 示例 1 2 3 4