华为云用户手册

  • CASE表达式 语法格式 1 2 3 CASE value WHEN value1 [, value11 ]* THEN result1 [ WHEN valueN [, valueN1 ]* THEN resultN ]* [ ELSE resultZ ] END 或 1 2 3 CASE WHEN condition1 THEN result1 [ WHEN conditionN THEN resultN ]* [ ELSE resultZ ] END 语法说明 当value值为value1则返回result1,不满足则返回resultZ,若没有else语句,则返回null。 当condition1为true时返回result1,不满足则返回resultZ,若没有else语句,则返回null。 注意事项 所有result的类型都必须一致。 所有condition类型都必须是布尔类型。 当没有满足的分支时,若指定else语句,则返回else的值,若没有else语句,则返回null。 示例 当units等于5时返回1,否则返回0。 示例1: 1 insert into temp SELECT CASE units WHEN 5 THEN 1 ELSE 0 END FROM Orders; 示例2: 1 insert into temp SELECT CASE WHEN units = 5 THEN 1 ELSE 0 END FROM Orders;
  • 示例代码 静态数据示例 返回2023-01-01 00:00:00。 select datetrunc('2023-08-14 17:00:00', 'yyyy'); 返回2023-08-01 00:00:00。 select datetrunc('2023-08-14 17:00:00', 'month'); 返回2023-08-14。 select datetrunc('2023-08-14 17:00:00', 'DD'); 返回2023-01-01。 select datetrunc('2023-08-14', 'yyyy'); 返回2023-08-14 17:00:00。 select datetrunc('2023-08-14 17:11:11', 'hh'); 返回NULL。 select datetrunc('2023-08-14', null);
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 DATE 或 STRING 代表起始日期。 格式为: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 datepart 是 STRING 代表需要返回的时间单位。 参数datepart支持扩展的日期格式:年-year、月-month或-mon、日-day和小时-hour。 yyyy代表年份。 MM代表月份。 dd代表天。 hh代表小时。 mi代表分钟。 ss代表秒。
  • 注意事项 创建Flink OpenSource SQL作业时,在作业编辑界面的“运行参数”处,“Flink版本”需要选择“1.12”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。 创建 MRS 的ClickHouse集群,集群版本选择MRS 3.1.0及以上版本,且勿开启kerberos认证。 ClickHouse结果表不支持删除表数据操作。 Flink中支持字段类型范围为:string、tinyint、smallint、int、long、float、double、date、timestamp、decimal以及Array。 其中Array中的数据类型仅支持int、bigint、string、float、double。
  • 示例 从Kafka中读取数据,并将数据插入到数据库为flink、表名为order的ClickHouse数据库中,其具体步骤如下(clickhouse版本为MRS的21.3.4.25): 参考增强型跨源连接,在 DLI 上根据ClickHouse和Kafka集群所在的虚拟私有云和子网分别创建跨源连接,并绑定所要使用的Flink作业队列。 设置ClickHouse和Kafka集群安全组的入向规则,使其对当前将要使用的Flink作业队列网段放通。参考测试地址连通性根据ClickHouse和Kafka的地址测试队列连通性。若能连通,则表示跨源已经绑定成功,否则表示未成功。 使用ClickHouse客户端连接到ClickHouse服务端,并使用以下命令查询集群标识符cluster等其他环境参数信息。 select cluster,shard_num,replica_num,host_name from system.clusters; 其返回信息如下图: ┌─cluster────┬────┬─shard_num─┐ │ default_cluster │ 1 │ 1 │ │ default_cluster │ 1 │ 2 │ └──────── ┴────┴────── ┘ 根据获取到的集群标识符cluster,例如当前为default_cluster ,使用以下命令在ClickHouse的default_cluster集群节点上创建数据库flink。 CREATE DATABASE flink ON CLUSTER default_cluster; 使用以下命令在default_cluster集群节点上和flink数据库下创建表名为order的ReplicatedMergeTree表。 CREATE TABLE flink.order ON CLUSTER default_cluster(order_id String,order_channel String,order_time String,pay_amount Float64,real_pay Float64,pay_time String,user_id String,user_name String,area_id String) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/flink/order', '{replica}')ORDER BY order_id; 参考创建Flink OpenSource作业,创建flink opensource sql作业,输入以下作业脚本,并提交运行。该作业脚本将Kafka作为数据源,ClickHouse作业结果表。 注意:创建作业时,在作业编辑界面的“运行参数”处,“Flink版本”选择“1.12”,勾选“保存作业日志”并设置保存作业日志的OBS桶,方便后续查看作业日志。如下脚本中的加粗参数请根据实际环境修改。 CREATE TABLE orders ( order_id string, order_channel string, order_time string, pay_amount double, real_pay double, pay_time string, user_id string, user_name string, area_id string ) WITH ( 'connector' = 'kafka', 'topic' = 'KafkaTopic', 'properties.bootstrap.servers' = 'KafkaAddress1:KafkaPort,KafkaAddress2:KafkaPort', 'properties.group.id' = 'GroupId', 'scan.startup.mode' = 'latest-offset', 'format' = 'json' ); create table clickhouseSink( order_id string, order_channel string, order_time string, pay_amount double, real_pay double, pay_time string, user_id string, user_name string, area_id string ) with ( 'connector.type' = 'clickhouse', 'connector.url' = 'jdbc:clickhouse://ClickhouseAddress:ClickhousePort/flink', 'connector.table' = 'order', 'connector.write.flush.max-rows' = '1' ); insert into clickhouseSink select * from orders; 连接Kafka集群,向Kafka中插入以下测试数据: {"order_id":"202103241000000001", "order_channel":"webShop", "order_time":"2021-03-24 10:00:00", "pay_amount":"100.00", "real_pay":"100.00", "pay_time":"2021-03-24 10:02:03", "user_id":"0001", "user_name":"Alice", "area_id":"330106"} {"order_id":"202103241606060001", "order_channel":"appShop", "order_time":"2021-03-24 16:06:06", "pay_amount":"200.00", "real_pay":"180.00", "pay_time":"2021-03-24 16:10:06", "user_id":"0001", "user_name":"Alice", "area_id":"330106"} {"order_id":"202103251202020001", "order_channel":"miniAppShop", "order_time":"2021-03-25 12:02:02", "pay_amount":"60.00", "real_pay":"60.00", "pay_time":"2021-03-25 12:03:00", "user_id":"0002", "user_name":"Bob", "area_id":"330110"} 使用ClickHouse客户端连接到ClickHouse,执行以下查询命令,查询写入flink数据库下order表中的数据。 select * from flink.order; 查询结果参考如下: 202103241000000001 webShop 2021-03-24 10:00:00 100 100 2021-03-24 10:02:03 0001 Alice 330106 202103241606060001 appShop 2021-03-24 16:06:06 200 180 2021-03-24 16:10:06 0001 Alice 330106 202103251202020001 miniAppShop 2021-03-25 12:02:02 60 60 2021-03-25 12:03:00 0002 Bob 330110
  • 语法格式 1 2 3 4 5 6 7 -- 图像分类, 返回预测图像分类的类别id DL_IMAGE_MAX_PREDICTION_INDEX(field_name, model_path, is_dl4j_model) DL_IMAGE_MAX_PREDICTION_INDEX(field_name, keras_model_config_path, keras_weights_path) -- 适用于Keras模型 -- 文本分类,返回预测文本分类的类别id DL_TEXT_MAX_PREDICTION_INDEX(field_name, model_path, is_dl4j_model) -- 采用默认word2vec模型 DL_TEXT_MAX_PREDICTION_INDEX(field_name, word2vec_path, model_path, is_dl4j_model) 模型及配置文件等需存储在用户的OBS中,路径格式为"obs://your_ak:your_sk@obs.your_obs_region.xxx.com:443/your_model_path"。例如:模型存放在OBS上,桶名为dl_model,文件名为model.h5,则路径填写为"obs://your_ak:your_sk@obs.xxx.com:443/dl_model/model.h5"。
  • 参数说明 表1 参数说明 参数 是否必选 说明 field_name 是 数据在数据流中的字段名。 图像分类中field_name类型需声明为ARRAY[TINYINT]。 文本分类中field_name类型需声明为String。 model_path 是 模型存放在OBS上的完整路径,包括模型结构和模型权值。 is_dl4j_model 是 是否是deeplearning4j的模型。 true代表是deeplearning4j,false代表是keras模型。 keras_model_config_path 是 模型结构存放在OBS上的完整路径。在keras中通过model.to_json()可得到模型结构。 keras_weights_path 是 模型权值存放在OBS上的完整路径。在keras中通过model.save_weights(filepath)可得到模型权值。 word2vec_path 是 word2vec模型存放在OBS上的完整路径。
  • 示例 图片分类预测我们采用Mnist数据集作为流的输入,通过加载预训练的deeplearning4j模型或者keras模型,可以实时预测每张图片代表的数字。 1 2 3 4 5 6 CREATE SOURCE STREAM Mnist( image Array[TINYINT] ) SELECT DL_IMAGE_MAX_PREDICTION_INDEX(image, 'your_dl4j_model_path', false) FROM Mnist SELECT DL_IMAGE_MAX_PREDICTION_INDEX(image, 'your_keras_model_path', true) FROM Mnist SELECT DL_IMAGE_MAX_PREDICTION_INDEX(image, 'your_keras_model_config_path', 'keras_weights_path') FROM Mnist 文本分类预测我们采用一组新闻标题数据作为流的输入,通过加载预训练的deeplearning4j模型或者keras模型,可以实时预测每个新闻标题所属的类别,比如经济,体育,娱乐等。 1 2 3 4 5 6 7 CREATE SOURCE STREAM News( title String ) SELECT DL_TEXT_MAX_PREDICTION_INDEX(title, 'your_dl4j_word2vec_model_path','your_dl4j_model_path', false) FROM News SELECT DL_TEXT_MAX_PREDICTION_INDEX(title, 'your_keras_word2vec_model_path','your_keras_model_path', true) FROM News SELECT DL_TEXT_MAX_PREDICTION_INDEX(title, 'your_dl4j_model_path', false) FROM New SELECT DL_TEXT_MAX_PREDICTION_INDEX(title, 'your_keras_model_path', true) FROM New
  • 参数说明 参数 是否必选 默认值 类型 说明 format 是 (none) String 指定使用格式,此处使用'maxwell-json'。 maxwell-json.ignore-parse-errors 否 false Boolean 跳过解析错误而不是失败的字段和行。出现错误时,字段设置为空。 maxwell-json.timestamp-format.standard 否 'SQL' String 指定输入和输出时间戳格式。当前支持的值为“SQL”和“ISO-8601”:选项“SQL”将以“yyyy-MM-dd HH:mm:ss.s{precision}”格式解析输入时间戳,例如“2020-12-30 12” :13:14.123' 并以相同格式输出时间戳。选项'ISO-8601'将以“yyyy-MM-ddTHH:mm:ss.s{precision}”格式解析输入时间戳,例如'2020-12-30T12: 13:14.123' 并以相同格式输出时间戳。 maxwell-json.map-null-key.mode 否 'FAIL' String 在序列化地图数据的空键时指定处理模式。当前支持的值为“FAIL”、“DROP”和“LITERAL”:选项“FAIL”将在遇到带有空键的地图时抛出异常。选项“DROP”将删除地图数据的空键条目。选项“LITERAL”将替换空带字符串文字的键。字符串文字由 maxwell-json.map-null-key.literal 选项定义。 maxwell-json.map-null-key.literal 否 'null' String 当 'maxwell-json.map-null-key.mode' 为 LITERAL 时,指定字符串文字以替换空键。
  • RPAD 功能描述 将pad字符串拼接到str字符串的的右端,直到新的字符串达到指定长度len为止。 如果任意参数为null时,则返回null。 len为负数时,返回为null。 pad为空串,如果len小于str长度,返回str裁剪为len长度的字符串。 语法 VARCHAR RPAD(VARCHAR str, INT len, VARCHAR pad) 参数说明 str:起始的字符串。 len:新的字符串的长度。 pad:需要重复补充的字符串。 示例 测试语句 SELECT RPAD("adc", 2, "hello"), RPAD("adc", -1, "hello"), RPAD("adc", 10, "hello"); 测试结果 "ad",,"adchellohe"
  • LPAD 功能描述 将pad字符串拼接到str字符串的的左端,直到新的字符串达到指定长度len为止。 语法 VARCHAR LPAD(VARCHAR str, INT len, VARCHAR pad) 参数说明 str:拼接前的字符串。 len:拼接后的字符串的长度。 pad:被拼接的字符串。 任意参数为null时返回null。 len为负数时返回为null。 len不大于str长度时,返回str裁剪为len长度的字符串。 示例 测试语句 SELECT LPAD("adc", 2, "hello"), LPAD("adc", -1, "hello"), LPAD("adc", 10, "hello"); 测试结果 "ad",,"helloheadc"
  • REPLACE 功能描述 字符串替换函数,将字符串str1中的所有str2替换成str3。 语法 VARCHAR REPLACE(VARCHAR str1, VARCHAR str2, VARCHAR str3) 参数说明 str1:原字符。 str2:目标字符。 str3:替换字符。 示例 测试语句: SELECT replace( "hello world hello world hello world", "world", "hello" ); 测试结果 "hello hello hello hello hello hello"
  • TRIM 功能描述 从B中除去字符串首尾/首位/末尾的A。默认情况下,首尾的A都被删除。 语法 STRING TRIM( { BOTH | LEADING | TRAILING } STRING a FROM STRING b) 参数说明 a:字符串。 b:字符串。 示例 测试语句 SELECT TRIM(BOTH " " FROM " hello world "); 测试结果 "hello world"
  • OVERLAY 功能描述 用y替换x的子串。从start_position开始,替换length+1个字符。 语法 VARCHAR OVERLAY ( (VARCHAR x PLACING VARCHAR y FROM INT start_position [ FOR INT length ]) ) 参数说明 x:字符串。 y:字符串。 start_position:起始位置。 length(可选):字符长度。 示例 测试语句: OVERLAY('abcdefg' PLACING 'xyz' FROM 2 FOR 2) AS result FROM T1; 测试结果: 表12 测试结果 result axyzdefg
  • STRING_TO_ARRAY 功能描述 将字符串value按delimiter分隔为字符串数组。 delimiter使用的是java的正则表达式,若使用特殊字符则需要转义。 语法 ARRAY[String] STRING_TO_ARRAY(STRING value, VARCHAR delimiter) 参数说明 value:字符串。 delimiter:分隔符。 示例 测试语句 SELECT string_to_array("127.0.0.1", "\\."), string_to_array("red-black-white-blue", "-"); 测试结果 [127,0,0,1],[red,black,white,blue]
  • 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"
  • KEY_VALUE 功能描述 获取键值对字符串中某一个key对应的值。 语法 VARCHAR KEY_VALUE(VARCHAR content, VARCHAR split1, VARCHAR split2, VARCHAR key_name) 参数说明 content:输入字符串。 split1:多个键值对分隔符。 split2:key/value分隔符。 key_name:要获取的键名称。 示例 测试语句 SELECT KEY_VALUE(content, split1, split2, key_name) AS case_result FROM T1; 测试数据和结果 表10 测试数据和结果 测试数据(content, split1, split2, key_name) 测试结果(case_result) k1=v1;k2=v2 ; = k1 v1 null ; = k1 null k1=v1;k2=v2 null = k1 null
  • IS_ALPHA 功能描述 判断字符串是否只包含字母。 语法 BOOLEAN IS_ALPHA(VARCHAR content) 参数说明 content:输入字符串。 示例 测试语句 SELECT IS_ALPHA(content) AS case_result FROM T1; 测试数据和结果 表5 测试数据和结果 测试数据(content) 测试结果(case_result) Abc true abc1#$ false null false ""(空字符串) false
  • IS_DIGITS 功能描述 判断字符串是否只包含数字。 语法 BOOLEAN IS_DIGITS(VARCHAR content) 参数说明 content:输入字符串。 示例 测试语句 SELECT IS_DIGITS(content) AS case_result FROM T1; 测试数据和结果 表6 测试数据和结果 测试数据(content) 测试结果(case_result) 78 true 78.0 false 78a false null false "" (空字符串) false
  • JSON_VALUE 功能描述 获取json字符串中指定path的值。 语法 VARCHAR JSON_VALUE(VARCHAR content, VARCHAR path) 参数说明 content:输入字符串。 path:要获取的path路径。 示例 测试语句 SELECT JSON_VALUE(content, path) AS case_result FROM T1; 测试数据和结果 表9 测试数据和结果 测试数据(content,path) 测试结果(case_result) { "a1":"v1","a2":7,"a3":8.0,"a4": {"a41":"v41","a42": ["v1","v2"]}} $ { "a1":"v1","a2":7,"a3":8.0,"a4": {"a41":"v41","a42": ["v1","v2"]}} { "a1":"v1","a2":7,"a3":8.0,"a4": {"a41":"v41","a42": ["v1","v2"]}} $.a1 v1 { "a1":"v1","a2":7,"a3":8.0,"a4": {"a41":"v41","a42": ["v1","v2"]}} $.a4 {"a41":"v41","a42": ["v1","v2"]} { "a1":"v1","a2":7,"a3":8.0,"a4": {"a41":"v41","a42": ["v1","v2"]}} $.a4.a42 ["v1","v2"] { "a1":"v1","a2":7,"a3":8.0,"a4": {"a41":"v41","a42": ["v1","v2"]}} $.a4.a42[0] v1
  • IS_URL 功能描述 判断字符串是否是合法的URL地址。 语法 BOOLEAN IS_URL(VARCHAR content) 参数说明 content:输入字符串。 示例 测试语句 SELECT IS_URL(content) AS case_result FROM T1; 测试数据和结果 表8 测试数据和结果 测试数据(content) 测试结果(case_result) https://www.testweb.com true https://www.testweb.com:443 true www.testweb.com:443 false null false "" (空字符串) false
  • CONCAT 功能描述 拼接两个或多个字符串值从而组成一个新的字符串。如果任一参数为NULL时,则跳过该参数。 语法 VARCHAR CONCAT(VARCHAR var1, VARCHAR var2, ...) 参数说明 var1:字符串 var2:字符串 示例 测试语句 SELECT CONCAT("abc", "def", "ghi", "jkl"); 测试结果 "abcdefghijkl"
  • CONCAT_WS 功能描述 将每个参数值和第一个参数separator指定的分隔符依次连接到一起组成新的字符串,长度和类型取决于输入值。 如果separator取值为null,则将separator视作与空串进行拼接。如果其它参数为null,在执行拼接过程中跳过取值为null的参数。 语法 VARCHAR CONCAT_WS(VARCHAR separator, VARCHAR var1, VARCHAR var2, ...) 参数说明 separator:分隔符。 var1:字符串。 var2:字符串。 示例 测试语句 SELECT CONCAT_WS("-", "abc", "def", "ghi", "jkl"); 测试结果 "abc-def-ghi-jkl"
  • IS_NUMBER 功能描述 判断字符串是否是数值。 语法 BOOLEAN IS_NUMBER(VARCHAR content) 参数说明 content:输入字符串。 示例 测试语句 SELECT IS_NUMBER(content) AS case_result FROM T1; 测试数据和结果 表7 测试数据和结果 测试数据(content) 测试结果(case_result) 78 true 78.0 true 78a false null false "" (空字符串) false
  • 注意事项 暂不支持通过python写UDF、UDTF、UDAF自定义函数。 如果使用IntelliJ IDEA工具对创建的自定义函数进行调试,则需要在IDEA上勾选:include dependencies with "Provided" scope,否则本地调试运行时会加载不到pom文件中的依赖包。 具体操作以IntelliJ IDEA版本2020.2为例,参考如下: 在IntelliJ IDEA界面,选择调试的配置文件,单击“Edit Configurations”。 在“Run/Debug Configurations”界面,勾选:include dependencies with "Provided" scope。 单击“OK”完成应用配置。
  • 示例代码 提取JSON对象src_json.json中的信息。命令示例如下。 jsonString = {"store": {"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}], "bicycle":{"price":19.95,"color":"red"} }, "email":"amy@only_for_json_udf_test.net", "owner":"Tony" } 提取owner字段信息,返回Tony。 select get_json_object(jsonString, '$.owner'); 提取store.fruit字段第一个数组信息,返回{"weight":8,"type":"apple"}。 select get_json_object(jsonString, '$.store.fruit[0]'); 提取不存在的字段信息,返回NULL。 select get_json_object(jsonString, '$.non_exist_key'); 提取数组型JSON对象的信息。命令示例如下。 返回22。 select get_json_object('{"array":[["a",11],["b",22],["c",33]]}','$.array[1][1]'); 返回["h00","h11","h22"]。 select get_json_object('{"a":"b","c":{"d":"e","f":"g","h":["h00","h11","h22"]},"i":"j"}','$.c.h[*]'); 返回["h00","h11","h22"]。 select get_json_object('{"a":"b","c":{"d":"e","f":"g","h":["h00","h11","h22"]},"i":"j"}','$.c.h'); 返回h11。 select get_json_object('{"a":"b","c":{"d":"e","f":"g","h":["h00","h11","h22"]},"i":"j"}','$.c.h[1]'); 提取带有.的JSON对象中的信息。命令示例如下。 创建一张表。 create table json_table (id string, json string); 向表中插入数据,Key带 "." insert into table json_table (id, json) values ("1", "{\"city1\":{\"region\":{\"rid\":6}}}"); 向表中插入数据,Key不带 "." insert into table json_table (id, json) values ("2", "{\"city1\":{\"region\":{\"rid\":7}}}"); 取rid的值,查询key为city1,返回6。由于包含.,只能用['']来解析。 select get_json_object(json, "$['city1'].region['id']") from json_table where id =1; 取rid的值,查询key为city1,返回7。查询方法有如下两种。 select get_json_object(json, "$['city1'].region['id']") from json_table where id =2; select get_json_object(json, "$.city1.region['id']") from json_table where id =2; JSON输入为空或非法格式。命令示例如下。 返回NULL。 select get_json_object('','$.array[2]'); 返回NULL。 select get_json_object('"array":["a",1],"b":["c",3]','$.array[1][1]'); JSON字符串涉及转义。命令示例如下。 返回"3"。 select get_json_object('{"a":"\\"3\\"","b":"6"}', '$.a'); 返回'3'。 select get_json_object('{"a":"\'3\'","b":"6"}', '$.a'); 一个JSON对象中可以出现相同的Key,可以成功解析。 返回1。 select get_json_object('{"b":"1","b":"2"}', '$.b'); 输出结果按照JSON字符串的原始排序方式输出。 返回{"b":"3","a":"4"}。 select get_json_object('{"b":"3","a":"4"}', '$');
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 json 是 STRING 标准的JSON格式对象,格式为{Key:Value, Key:Value,...} path 是 STRING 表示在json中的path,以$开头。不同字符的含义如下: $表示根节点。 .表示子节点。 []表示[number]表示数组下标,从0开始。 *表示Wildcard for [],返回整个数组。*不支持转义。
  • 示例代码 返回2023-08-16 10:54:36 select to_date1('2023-08-16 10:54:36','yyyy-mm-dd hh:mi:ss'); 返回2023-08-16 00:00:00。 select to_date1('2023-08-16','yyyy-mm-dd'); 返回NULL。 select to_date1(null); 返回2023-08-16。 select to_date1('2023-08-16 10:54:36');
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 date 是 STRING 要转换的字符串。 格式: yyyy-mm-dd yyyy-mm-dd hh:mi:ss yyyy-mm-dd hh:mi:ss.ff3 format 是 STRING 代表需要转换的日期格式。 STRING类型常量,不支持日期扩展格式。 format:格式为代表年月日时分秒的时间单位与任意字符的组合,其中: yyyy代表年份。 mm代表月份。 dd代表天。 hh代表小时。 mi代表分钟。 ss代表秒。
  • 参数说明 表1 参数说明 参数 是否必选 参数类型 说明 source 是 STRING 待替换的字符 pattern 是 STRING STRING类型常量或正则表达式。待匹配的模型。更多正则表达式编写规范,请参见正则表达式规范。pattern为空串时返回报错。 replace_string 是 STRING 将匹配pattern的字符串替换后的字符串。 occurrence 否 BIGINT 必须大于等于1,表示将第occurrence次匹配的字符串替换为replace_string,为1时表示替换所有匹配的子串。为其他类型或小于1时,返回报错。默认值为1。
共100000条