华为云用户手册

  • 如何使用A记录进行域名解析? 当客户端和 Web应用防火墙 之间未使用代理时,当网站接入WAF后,需要把DNS解析到WAF的CNAME,这样流量才会先经过WAF,WAF再将流量转到源站,实现网站流量检测和攻击拦截。 在配置域名接入时,您需要到该域名的DNS服务商处,配置防护域名的别名解析。如果您之前在DNS云解析服务上添加的域名主机记录的“类型”为“A-将域名指向IPv4地址”,请参照A记录接入完成域名配置。 父主题: 域名解析类
  • 通过包年/包月方式重购的WAF与原WAF在同一区域 原WAF上的配置数据可以保存24小时。 退订WAF后,WAF将暂停防护域名。当您重新购买WAF后,您只需要为域名开启防护,即将域名的“工作模式”切换为“开启防护”。开启防护后,WAF会根据域名在原WAF上配置的防护对域名进行防护。 有关退订WAF的详细操作,请参见如何退订Web应用防火墙?。 有关购买WAF的详细操作,请参见购买Web应用防火墙。 有关开启WAF防护的详细操作,请参见切换工作模式。 退订WAF后请您在24小时内重新购买WAF,以免原WAF上的配置数据失效。
  • 已使用华为云APIG还需要购买WAF吗? 华为云API网关(API Gateway,APIG)是对API提供者和API调用者提供API托管的服务,APIG可以快速将企业服务能力包装成标准 API服务 ,帮助企业轻松构建、管理和部署不同规模的API。APIG不会针对域名进行防护,在满足API安全使用的前提下,APIG可以对绑定的域名提供IP黑白名单控制、防重放攻击、认证鉴权防护功能。 华为云Web应用防火墙(Web Application Firewall,WAF)是对域名提供Web安全防护的服务。域名接入WAF后,WAF可以对网站业务流量进行多维度检测和防护,识别并阻断SQL注入、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,全方位保护Web服务安全稳定。 如果您需要为APIG中绑定的域名提供全方位的防护功能,您可以购买WAF,并将域名接入WAF,以轻松应对各种Web安全风险。 有关WAF功能的详细介绍,请参见功能特性。 有关购买WAF的详细操作,请参见购买Web应用防火墙。 有关使用WAF的详细操作,请参见入门教程。 父主题: 使用说明类
  • Web应用防火墙如何收费? Web应用防火墙云模式支持包年/包月(预付费)计费方式,独享模式支持按需计费方式。其中,云模式支持入门版、标准版、专业版和铂金版四个版本。同时,云模式包年/包月还支持域名扩展包、带宽扩展包和规则扩展包。您可以根据业务需求选择相应的服务版本和搭配扩展包,服务将根据您选择的计费方式和计费项目进行收费。 有关WAF详细的计费说明,请参见计费说明。 详细的服务资费费率标准请参见产品价格详情。 父主题: 计费、到期续费与退订重购
  • 续费时如何变更Web应用防火墙的规格? 您只能为当前的WAF云模式进行续费,续费时不能直接变更WAF的规格。即WAF会按照当前WAF的版本、购买的域名/带宽/规则扩展包的数量进行续费。 如果您需要在续费时变更WAF的规格,请您根据以下说明先升级或降低WAF规格: 升级WAF规格 从较低版本升级到任一更高版本 增加域名扩展包、带宽扩展包或规则扩展包的数量 有关升级WAF规格的详细操作,请参见变更WAF云模式版本和规格(新版)。 降低WAF规格 从较高版本降低到任一更低版本 减少域名扩展包、带宽扩展包或规则扩展包的数量 如果重购的WAF与原WAF不在同一区域,原WAF配置数据将不能保存。当您重新购买WAF后,您需要将防护域名重新接入WAF,并根据防护需求为域名配置相应的防护规则,详细说明请参见退订后重购WAF,原配置数据可以保存吗?。 父主题: 变更规格类
  • 什么是Cookie Cookie是网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),Cookie由Web服务器发送到浏览器,可以用来记录用户个人信息。 Cookie由一个名称(Name)、一个值(Value)和其它几个用于控制Cookie有效期、安全性、使用范围的可选属性组成。Cookie分为会话Cookie和持久性Cookie两种类型,详细说明如下: 会话Cookie 临时的Cookie,不包含到期日期,存储在内存中。当浏览器关闭时,Cookie将被删除。 持久性Cookie 包含到期日期,存储在磁盘中,当到达指定的到期日期时,Cookie将从磁盘中被删除。
  • Web应用防火墙支持哪些Web服务框架/协议? Web应用防火墙部署在云端,与Web服务框架没有关系。 WAF通过对HTTP/HTTPS请求进行检测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等攻击,保护Web服务安全稳定。 WAF支持防护的协议类型说明如下: WebSocket/WebSockets协议,且默认为开启状态 “对外协议”选择“HTTP”时,默认支持WebSocket “对外协议”选择“HTTPS”时,默认支持WebSockets HTTP/HTTPS协议 目前WAF以下区域支持HTTP/2(HTTP 2.0版本): 华北-北京一 华北-北京四 华东-上海一 华东-上海二 华南-广州 华南-深圳 父主题: 功能说明类
  • 后端服务器配置多个源站地址时的注意事项? 同一个域名在后端配置多个源站地址时,请注意: 域名对应的业务端口为非标准端口 对外协议、源站协议和源站端口必须都相同 域名对应的业务端口为标准端口 对外协议、源站协议和源站端口可不相同 添加域名时,WAF支持添加多个服务器IP,多个服务器之间,WAF采用轮询的方式回源,这样有助于减少服务器的压力,起到保护源站的作用。例如,后端添加了两个服务器IP(IP-A,IP-B),当有10个请求访问该域名时,5个请求会被WAF转发到IP-A,其余5个请求会被WAF转发到IP-B。 WAF云模式目前暂不支持健康检查的功能,当一个服务器IP出现问题,WAF仍然会转发流量给这个服务器IP,这样会导致部分业务受损。如果您希望服务器有健康性检查的功能,建议您将弹性负载均衡(ELB)和WAF搭配使用,ELB的相关配置请参见添加后端云服务器。ELB配置完成后,再将ELB的EIP作为服务器的IP地址,接入WAF,实现健康检查。 父主题: 域名/端口类
  • WAF误拦截了正常访问请求,如何处理? 当WAF根据您配置的防护规则检测到符合规则的恶意攻击时,会按照规则中的防护动作(仅记录、拦截等),在“防护事件”页面中记录检测到的攻击事件。 如果您已开通企业项目,请务必在“企业项目”下拉列表中选择您所在的企业项目并确保已开通操作权限,才能处理该企业项目下的误报事件。有关企业项目的详细介绍,请参见管理项目和企业项目。 在误拦截事件所在行的“操作”列中,单击“详情”,查看事件详细信息。如果确认该防护事件为误报事件时,您可以参照表1对该事件进行误报处理。处理后,WAF将不再拦截该事件,即“防护事件”页面中将不再显示该攻击事件,您也不会收到该攻击事件的告警通知。 表1 误报处理说明 命中规则类型 命中规则 处理方式 WAF内置防护规则 Web基础防护规则 防范SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等常规的Web攻击,以及Webshell检测、深度反逃逸检测等Web基础防护。 网站反爬虫的“特征反爬虫”规则 可防护搜索引擎、扫描器、脚本工具、其它爬虫等爬虫。 在该攻击事件所在行的“操作”列,单击“误报处理”,详细操作请参见处理误报事件。 自定义防护规则 CC攻击防护规则 精准访问防护规则 黑白名单规则 地理位置访问控制规则 网页防篡改规则 网站反爬虫的“JS脚本反爬虫”规则 防敏感信息泄露规则 隐私屏蔽规则 在拦截该攻击事件的防护规则页面,删除对应的防护规则。 其他 “非法请求”访问请求 说明: 当遇到以下情况时,WAF将判定该访问请求为非法请求并拦截该访问请求: POST/PUT使用“form-data”时,表单的参数个数多于8192个。 URI的参数个数多于2048个。 Header个数超过512个。 “误报处理”按钮置灰不能使用,请参见配置精准访问防护规则放行该访问请求。 父主题: 业务中断排查
  • Web应用防火墙可以跨区域使用吗? 原则上,在任何一个区域购买的WAF支持防护所有区域的Web业务。但是为了提高WAF的转发效率,建议您在购买WAF时,根据防护业务的所在区域就近选择购买的WAF区域。 例如,如果买一个WAF能同时覆盖不同地域的业务(如北京和上海),但是若购买北京region的WAF,对于客户在上海的业务,可能转发时长相比于北京的业务会更长。为了提高转发效率,建议您购买2个WAF(北京region的WAF和上海region的WAF),分别防护北京和上海的业务。 父主题: 区域与可用区
  • 示例 将流weather_out的数据输出到 表格存储服务 CloudTable的OpenTSDB中。 1 2 3 4 5 6 7 8 910111213141516 CREATE SINK STREAM weather_out ( timestamp_value LONG, /* 时间 */ temperature FLOAT, /* 温度值 */ humidity FLOAT, /* 湿度值 */ location STRING /* 地点 */) WITH ( type = "opentsdb", region = "xxx", cluster_id = "e05649d6-00e2-44b4-b0ff-7194adaeab3f", tsdb_metrics = "weather", tsdb_timestamps = "${timestamp_value}", tsdb_values = "${temperature}; ${humidity}", tsdb_tags = "location:${location},signify:temperature; location:${location},signify:humidity", batch_insert_data_num = "10");
  • DMS输入流 分布式消息服务(Distributed Message Service,简称DMS)是一项基于高可用分布式集群技术的消息中间件服务,提供了可靠且可扩展的托管消息队列,用于收发消息和存储消息。分布式消息服务Kafka是一款基于开源社区版Kafka提供的消息队列服务,向用户提供可靠的全托管式的Kafka消息队列。 DLI 支持创建输入流从DMS的Kafka获取数据,作为作业的输入数据。创建DMS Kafka输入流的语法与创建开源Apache Kafka输入流一样,具体请参见开源Kafka输入流。 父主题: 创建输入流
  • DMS输出流 分布式消息服务(Distributed Message Service,简称DMS)是一项基于高可用分布式集群技术的消息中间件服务,提供了可靠且可扩展的托管消息队列,用于收发消息和存储消息。分布式消息服务Kafka是一款基于开源社区版Kafka提供的消息队列服务,向用户提供可靠的全托管式的Kafka消息队列。 DLI支持将作业的输出数据输出到DMS的Kafka实例中。创建DMS Kafka输出流的语法与创建开源Apache Kafka输出流一样,具体请参见 MRS Kafka输出流。 父主题: 创建输出流
  • Flink SQL语法概览 本章节介绍了目前DLI所提供的Flink SQL语法列表。参数说明,示例等详细信息请参考具体的语法说明。 表1 流作业语法概览 语法分类 功能描述 创建输入流 CloudTable HBase输入流 创建输入流 DIS输入流 DMS输入流 创建输入流 MRS Kafka输入流 开源Kafka输入流 OBS输入流 创建输出流 CloudTable HBase输出流 创建输出流 CloudTable OpenTSDB输出流 创建输出流 CSS Elasticsearch输出流 D CS 输出流 DDS输出流 DIS输出流 DMS输出流 DWS输出流(通过JDBC方式) DWS输出流(通过OBS转储方式) 创建输出流 MRS HBase输出流 MRS Kafka输出流 开源Kafka输出流 OBS输出流 RDS输出流 创建输出流 SMN 输出流 文件系统输出流(推荐) 创建中间流 创建中间流 创建维表 创建Redis表 创建RDS表 自拓展生态 自拓展输入流 自拓展输出流 父主题: Flink SQL语法参考(不再演进,推荐使用Flink OpenSource SQL)
  • 语法说明 COMPUTED COLUMN 计算列是一个使用 “column_name AS computed_column_expression” 语法生成的虚拟列。它由使用同一表中其他列的非查询表达式生成,并且不会在表中进行物理存储。例如,一个计算列可以使用 cost AS price * quantity 进行定义,这个表达式可以包含物理列、常量、函数或变量的任意组合,但这个表达式不能存在任何子查询。 在 Flink 中计算列一般用于为 CREATE TABLE 语句定义 时间属性。 处理时间属性 可以简单地通过使用了系统函数 PROCTIME() 的 proc AS PROCTIME() 语句进行定义。 另一方面,由于事件时间列可能需要从现有的字段中获得,因此计算列可用于获得事件时间列。例如,原始字段的类型不是 TIMESTAMP(3) 或嵌套在 JSON 字符串中。 注意: 定义在一个数据源表( source table )上的计算列会在从数据源读取数据后被计算,它们可以在 SELECT 查询语句中使用。 计算列不可以作为 INSERT 语句的目标,在 INSERT 语句中,SELECT 语句的 schema 需要与目标表不带有计算列的 schema 一致。
  • 创建源表相关语法 表1 创建源表相关语法 语法分类 功能描述 创建源表 Kafka源表 DIS源表 JDBC源表 DWS源表 Redis源表 Hbase源表 userDefined源表 创建结果表 ClickHouse结果表 Kafka结果表 Upsert Kafka结果表 DIS结果表 JDBC结果表 DWS结果表 Redis结果表 SMN结果表 Hbase结果表 Elasticsearch结果表 userDefined结果表 创建维表 创建JDBC维表 创建DWS维表 创建Hbase维表
  • 算术运算符 算术运算符包括双目运算符与单目运算符,这些运算符都将返回数字类型。Flink SQL所支持的算术运算符如表3所示。 表3 算术运算符 运算符 返回类型 描述 + numeric 所有数字类型 返回数字。 - numeric 所有数字类型 返回负数。 A + B 所有数字类型 A和B相加。结果数据类型与操作数据类型相关,例如一个整数类型数据加上一个浮点类型数据,结果数值为浮点类型数据。 A - B 所有数字类型 A和B相减。结果数据类型与操作数据类型相关。 A * B 所有数字类型 A和B相乘。结果数据类型与操作数据类型相关。 A / B 所有数字类型 A和B相除。结果是一个double(双精度)类型的数值。 POWER(A, B) 所有数字类型 返回A数的B次方乘幂。 ABS(numeric) 所有数字类型 返回数值的绝对值。 MOD(A, B) 所有数字类型 返回A除以B的余数(模数)。 返回值只有在A为负数时才为负数。 SQRT(A) 所有数字类型 返回A的平方根。 LN(A) 所有数字类型 返回A的自然对数(基数e)。 LOG 10(A) 所有数字类型 返回A的基数10对数。 EXP(A) 所有数字类型 返回e的a次方。 CEIL(A) CEILING(A) 所有数字类型 将参数向上舍入为最接近的整数。例如ceil(21.2),返回22。 FLOOR(A) 所有数字类型 对给定数据进行向下舍入最接近的整数。例如floor(21.2),返回21。 SIN(A) 所有数字类型 计算给定A的正弦值。 COS(A) 所有数字类型 计算给定A的余弦值。 TAN(A) 所有数字类型 计算给定A的正切值。 COT(A) 所有数字类型 计算给定A的余切值。 ASIN(A) 所有数字类型 计算给定A的反正弦值。 ACOS(A) 所有数字类型 计算给定A的反余弦值。 ATAN(A) 所有数字类型 计算给定A的反正切值。 DEGREES(A) 所有数字类型 返回弧度所对应的角度。 RADIANS(A) 所有数字类型 返回角度所对应的弧度。 SIGN(A) 所有数字类型 返回a所对应的正负号,a为正返回1,a为负,返回-1,否则返回0。 ROUND(A, d) 所有数字类型 返回小数部分d位之后数字的四舍五入,d为int型。例如round(21.263,2),返回21.26。 PI() 所有数字类型 返回pi的值。 字符串类型不能参与算术运算。
  • U UESCAPE UNBOUNDED UNCOMMITTED UNDER UNION UNIQUE UNKNOWN UNNAMED UNNEST UPDATE UPPER UPSERT URN_COLUMN USAGE USER USER_DEFINED_TYPE_CATALOG USER_DEFINED_TYPE_CODE USER_DEFINED_TYPE_NAME USER_DEFINED_TYPE_SCHEMA USERNAME USING
  • T TABLE TABLESAMPLE TABLE_COLUMNS TABLE_NAME TABLE_NAME_MAP TEMP TEMPORARY THEN TIES TIME TIMESTAMP TIMESTAMPADD TIMESTAMPDIFF TIMEZONE_HOUR TIMEZONE_MINUTE TINYINT TO TOP_LEVEL_COUNT TOPIC TOPIC_URN TRAILING TRANSACTION TRANSACTIONAL_TABLE TRANSACTIONS_ACTIVE TRANSACTIONS_COMMITTED TRANSACTIONS_ROLLED_BACK TRANSFORM TRANSFO RMS TRANSLATE TRANSLATION TRANX_ID TREAT TRIGGER TRIGGER_CATALOG TRIGGER_NAME TRIGGER_SCHEMA TRIM TRUE TSDB_LINK_ADDRESS TSDB_METRICS TSDB_TIMESTAMPS TSDB_TAGS TSDB_VALUES TYPE TYPE_CLASS_NAME TYPE_CLASS_PA RAM ETER
  • E EACH ELEMENT ELSE EMAIL_KEY ENABLECHECKPOINT ENABLE_CHECKPOINT ENABLE_OUTPUT_NULL ENCODE ENCODE_CLASS_NAME ENCODE_CLASS_PARAMETER ENCODED_DATA END ENDPOINT END_EXEC EPOCH EQUALS ESCAPE ES_FIELDS ES_INDEX ES_TYPE ESTIMATEMEM ESTIMATEPARALLELISM EXACTLY_ONCE EXCEPT EXCEPTION EXCLUDE EXCLUDING EXEC EXECUTE EXISTS EXP EXPLAIN EXTEND EXTERNAL EXTRACT EVERY
  • P PAD PARALLELISM PARAMETER PARAMETER_MODE PARAMETER_NAME PARAMETER_ORDINAL_POSITION PARAMETER_SPECIFIC_CATALOG PARAMETER_SPECIFIC_NAME PARAMETER_SPECIFIC_SCHEMA PARTIAL PARTITION PARTITION_COUNT PARTITION_KEY PARTITION_RANGE PASCAL PASSTHROUGH PASSWORD PATH PERCENTILE_CONT PERCENTILE_DISC PERCENT_RANK PERSIST_SCHEMA PIPELINE_ID PLACING PLAN PLI POSITION POWER PRECEDING PRECISION PREPARE PRESERVE PRIMARY PRIMARY_KEY PRIOR PRIVILEGES PROCEDURE PROCTIME PROJECT_ID PUBLIC
  • M M MAP MATCH MATCHED MATCHING_COLUMNS MATCHING_REGEX MAX MAXALLOWEDCPU MAXALLOWEDMEM MAXALLOWEDPARALLELISM MAX_DUMP_FILE_NUM MAX_RECORD_NUM_CACHE MAX_RECORD_NUM_PER_FILE MAXVALUE MEMBER MERGE MESSAGE_COLUMN MESSAGE_LENGTH MESSAGE_OCTET_LENGTH MESSAGE_SUBJECT MESSAGE_TEXT METHOD MICROSECOND MILLENNIUM MIN MINUTE MINVALUE MOD MODIFIES MODULE MONTH MORE MS MULTISET MUMPS
  • D DATE DATABASE DATE DATETIME_INTERVAL_CODE DATETIME_INTERVAL_PRECISION DAY DB_COLUMNS DB_URL DB_OBS_SERVER DB_TYPE DEALLOCATE DEC DECADE DECIMAL DECLARE DEFAULTS DEFERRABLE DEFERRED DEFINER DEGREE DELETE DELETE_OBS_TEMP_FILE DENSE_RANK DEPTH DEREF DERIVED DESC DESCRIBE DESCRIPTION DESCRIPTOR DETERMINISTIC DIAGNOS TICS DISALLOW DISCONNECT DIS_NOTICE_CHANNEL DISPATCH DISTINCT DOMAIN DOUBLE DOW DOY DRIVER DROP DUMP_INTERVAL DYNAMIC DYNAMIC_FUNCTION DYNAMIC_FUNCTION_CODE
  • I IDENTITY ILLEGAL_DATA_TABLE IMMEDIATE IMPLEMENTATION IMPORT IN INCLUDING INCREMENT INDICATOR INITIALLY INNER INOUT INPUT INSENSITIVE INSERT INSTANCE INSTANTIABLE INT INTEGER INTERSECT INTERSECTION INTERVAL INTO INVOKER IN_WITH_SCHEMA IS ISOLATION
  • R RANGE RANK RAW READ READS READ_ONCE REAL RECURSIVE REF REFEREN CES REFERENCING REGION REGR_AVGX REGR_AVGY REGR_COUNT REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY RELATIVE RELEASE REPEATABLE RESET RESTART RESTRICT RESULT RETURN RETURNED_CARDINALITY RETURNED_LENGTH RETURNED_OCTET_LENGTH RETURNED_SQLSTATE RETURNS REVOKE RIGHT ROLE ROLLBACK ROLLING_INTERVAL ROLLING_SIZE ROLLUP ROUTINE ROUTINE_CATALOG ROUTINE_NAME ROUTINE_SCHEMA ROW ROW_COUNT ROW_DELIMITER ROW_NUMBER ROWS ROWTIME
  • S SAVEPOINT SCALE SCHEMA SCHEMA_CASE_SENSITIVE SCHEMA_NAME SCOPE SCOPE_CATALOGS SCOPE_NAME SCOPE_SCHEMA SCROLL SEARCH SECOND SECTION SECURITY SELECT SELF SENSITIVE SEQUENCE SERIALIZABLE SERVER SERVER_NAME SESSION SESSION_USER SET SETS SIMILAR SIMPLE SINK SIZE SK SMALLINT SOME SOURCE SPACE SPECIFIC SPECIFICTYPE SPECIFIC_NAME SQL SQLEXCEPTION SQLSTATE SQLWARNING SQL_TSI_DAY SQL_TSI_FRAC_SECOND SQL_TSI_HOUR SQL_TSI_MICROSECOND SQL_TSI_MINUTE SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_SECOND SQL_TSI_WEEK SQL_TSI_YEAR SQRT START START_TIME STATE STATEMENT STATIC STDDEV_POP STDDEV_SAMP STREAM STRING STRUCTURE STYLE SUBCLASS_ORIGIN SUBMULTISET SUBSTITUTE SUBSTRING SUM SYMMETRIC SYSTEM SYSTEM_USER
  • A A ABS ABSOLUTE ACTION ADA ADD ADMIN AFTER AK ALL ALLOCATE ALLOW ALTER ALWAYS AND ANY APPEND APP_ID ARE ARRAY ARRAY_BRACKET AS ASC ASENSITIVE ASSERTION ASSIGNMENT ASYMMETRIC AT AT_LEAST_ONCE ATOMIC ATTRIBUTE ATTRIBUTES AUTHORIZATION AVG AVRO_CONFIG AVRO_DATA AVRO_SCHEMA
  • C C CACHE_MAX_NUM CACHE_TIME CALL CALLED CARDINALITY CASCADE CASCADED CASE CAST CATALOG CATALOG_NAME CEIL CEILING CENTURY CHAIN CHANNEL CHAR CHARACTER CHARACTERISTI CTS CHARACTERS CHARACTER_LENGTH CHARACTER_SET_CATALOG CHARACTER_SET_NAME CHARACTER_SET_SCHEMA CHAR_LENGTH CHECK CHECKPOINT_APP_NAME CHECKPOINT_INTERVAL CHECKPOINTINTERVAL CLASS_ORIGIN CLOB CLOSE CLUSTER_ADDRESS CLUSTER_ID CLUSTER_NAME COALESCE COBOL COLLATE COLLATION COLLATION_CATALOG COLLATION_NAME COLLATION_SCHEMA COLLECT COLUMN COLUMN_NAME COLUMN_NAME_MAP COMMAND_FUNCTION COMMAND_FUNCTION_CODE COMMIT COMMITTED CONDITION CONDITION_NUMBER CONFIGURATION CONFLUENT_CERTIFICATE_NAME CONFLUENT_PROPERTIES CONFLUENT_SCHEMA_FIELD CONFLUENT_URL CONNECT CONNECTION_NAME CONSTRAINT CONSTRAINTS CONSTRAINT_CATALOG CONSTRAINT_NAME CONSTRAINT_SCHEMA CONSTRUCTOR CONTAINS CONTINUE CONVERT CORR CORRESPONDING COUNT COVAR_POP COVAR_SAMP CREATE CREATE_IF_NOT_EXIST CROSS CUBE CUME_DIST CURRENT CURRENT_CATALOG CURRENT_DATE CURRENT_DEFAULT_TRANSFORM_GROUP CURRENT_PATH CURRENT_ROLE CURRENT_SCHEMA CURRENT_TIMESTAMP CURRENT_TRANSFORM_GROUP_FOR_TYPE CURRENT_USER CURSOR CURSOR_NAME CYCLE
  • 示例 输入一条记录("student1", "student2, student3"),输出两条记录("student1", "student2") 和 ("student1", "student3") 。 create source stream s1(attr1 string, attr2 string) with (......);insert into s2 select attr1, b1 from s1 left join lateral table(split_cursor(attr2, ',')) as T(b1) on true;
  • SUBSTRING 功能描述 返回从指定位置开始的A的子字符串。起始位置从1开始。 如果未指定len,则截取从位置start开始,到字符串结尾的子字符串。 如果指定len,则截取从位置start开始,长度为len的子字符串。 start从1开始,start为0时当1看待,为负数时表示从字符串末尾倒序计算位置。 语法 VARCHAR SUBSTRING(STRING A FROM INT start) 或 VARCHAR SUBSTRING(STRING A FROM INT start FOR INT len) 参数说明 A:指定的字符串。 start:在字符串A中开始截取的位置。 len:截取的长度。 示例 测试语句1 SELECT SUBSTRING("123456" FROM 2); 测试结果1 "23456" 测试语句2 SELECT SUBSTRING("123456" FROM 2 FOR 4); 测试结果2 "2345"
共100000条