检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用substring截取带中文的数据时出现乱码 问题现象 客户需要查询某张表的name字段,返回的数据中只截取到“学年”及以前部分,使用substring函数实现时出现乱码,如下图所示。 原因分析 UTF-8字符集编码下,一个中文占3个字节,如需获取结果显示为“2014-201
参数描述:从参数string中抽取子字符串,from表示抽取的起始位置,count表示抽取的字符串长度。 返回值类型:text 截取单位差异 substrb(),按字节截取。 substr(),按字符截取。 substring(),按字符截取。 以utf8编码为例,1个汉字占3个字节,当使用subs
字符串类型 概述 MySQL以字符单位解释字符列定义中的长度规范。这适用于 CHAR、VARCHAR和TEXT类型。DSC工具支持以下列出类型转换。 类型对照 表1 字符串类型对照表 MySQL字符串类型 MySQL INPUT GaussDB(DWS) OUTPUT CHAR CHAR[(0)]
二进制字符串函数和操作符 SQL定义了一些二进制字符串函数,这些函数使用关键字而不是逗号来分隔参数。另外,DWS提供了函数调用所使用的常用语法。 octet_length(string) 描述:二进制字符串中的字节数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT
正则表达式函数 正则表达式使用标准化的语法约定来指定匹配字符串的模式。在Oracle中,正则表达式通过一组允许用户搜索和操作字符串数据的SQL函数来实现。 DSC可迁移REGEXP_INSTR、REGEXP_SUBSTR和REGEXP_REPLACE正则表达式,详情如下: 不支持
----------- f (1 row) POSIX正则表达式 正则表达式是一个字符序列,它是定义一个串集合 (一个正则集)的缩写。 如果一个串是正则表达式描述的正则集中的一员时, 那么就说这个串匹配该正则表达式。 POSIX正则表达式提供了比LIKE和SIMILAR TO操作符更
字符串函数 CHAR函数 输入:CHAR 1 CHAR( expression1 ) 输出: 1 LENGTH( expression1 ) CHARACTERS函数 输入:CHARACTERS 1 CHARACTERS( expression1 ) 输出: 1 LENGTH(
'1' ) FROM dual ; QUOTE QUOTE允许用户在文字字符串中嵌入单引号而非使用双引号,即可以使用单引号指定一个文字字符串。 示例: 1 SELECT q'[I'm using quote operator in SQL statement]'
flags参数的可选项 选项 描述 g 表示替换每一个匹配的子字符串而不仅仅是第一个(默认仅替换第一个匹配的子字符串)。 B 默认情况下使用Henry Spencer正则库及其正则语法。指定B选项后,表示优先选用boost regex正则库及其正则语法。 以下两种情况在指定了B选项时,也会自动转换为选择Henry
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
二进制字符串函数和操作符 SQL定义了一些二进制字符串函数,这些函数使用关键字而不是逗号来分隔参数。另外,DWS提供了函数调用所使用的常用语法。 octet_length(string) 描述:二进制字符串中的字节数。 返回值类型:integer 示例: 1 2 3 4 5 SELECT
MySQL SQL迁移 工具支持从MySQL到GaussDB(DWS)的迁移,包括模式、DML、查询、系统函数、PL/SQL等。 在LINUX中执行MySQL迁移 在Linux中执行以下命令开始迁移。用户需指定源数据库、输入和输出文件夹路径和日志路径;应用程序语言类型是SQL。
0时,倒数第|s|个字符位置开始截取n个字符。 n < 0时,返回空串。 trim、ltrim、rtrim、btrim(string[,characters]) 从字符串string的指定位置删除只包含characters中字符(缺省为空格)的最长的字符串。 从字符串string的指定位置
、Teradata和MySQL数据库兼容模式。 在TD/MySQL兼容模式下,空和NULL是不相等的,在ORA兼容模式下,空和NULL是相等的。因此上述场景可能是因为两个环境中数据库的兼容性模式设置不一致导致。 可通过查询PG_DATABASE系统表确认数据库的兼容模式: 1 SELECT
引号 单引号 MySQL中别名带单引号,GaussDB(DWS)不支持,DSC迁移改为双引号。 输入示例 1 select name as 'mingzi' from t1; 输出示例 1 2 3 4 SELECT name AS "mingzi" FROM t1; 反引号
集合类型 概述 MySQL ENUM是一个字符串对象,具有从列创建时在列规范中明确枚举的允许值列表中选择的值。 SET是一个字符串对象,可以有零个或多个值,每个值必须从创建表时指定的允许值列表中选择。 类型对照 表1 集合类型对照表 MySQL集合类型 MySQL INPUT GaussDB(DWS)
云上RDS-MySQL数据迁移: RDS、CDM和GaussDB(DWS)均在同一个VPC下,CDM分别与MySQL和DWS建立JDBC连接。如果云上RDS与DWS不在一个VPC,则CDM通过弹性公网IP访问RDS。 迁移前数据检查 连接MySQL实例,查看MySQL数据库情况。 mysql -h <host>-P<port>-u
区域 华北-北京四 实例名称 rds-demo 数据库引擎 MySQL 数据库版本 5.7及以上 数据库端口 3306 连接RDS实例,执行以下命令,创建名为mys_data数据库。 1 CREATE DATABASE mys_data; 切换到新的数据库mys_data,并执行以下命令,创建表mys_orders。
L语句创建目标数据库,本例为migration。 1 CREATE DATABASE database_name WITH ENCODING 'UTF-8' DBCOMPATIBILITY 'mysql' TEMPLATE template0; ADB中的数据库的概念相当于Ga
二进制类型 概述 MySQL BIT数据类型被用于存储比特值。一种类型允许存储位值,可以从1到64。 MySQL BINARY和VARBINARY 类似CHAR并且VARCHAR,只不过它们包含二进制字符串。 类型对照 表1 二进制类型对照表 MySQL二进制类型 MySQL INPUT