统一SQL支持Oracle2MySQL系-chr函数改写
【统一sql】:https://www.light-pg.com/docs/LTSQL/current/index.html
LightDB 统一SQL 是一款基于 Go 开发的 SQL 转换中间件,支持将 Oracle 常用 SQL 语法翻译转换为其他数据库的 SQL 。以主流数据库Oracle的SQL为基准,将SQL语句转换为其他信创数据库(LightDB、PostgreSQL、TDSQL、DM8、OceanBase、openGauss等)的SQL语句。目标是降低业务部门适配信创数据库的成本,让用户尽可能少地修改数据访问层代码,使基于Hibernate、JPA、MyBatis等框架的Java应用程序,基于oci、libmysqlclient、cres开发工具、hsdb的c/c++应用程序以及其它能够调用c函数的程序都能够直接切换到目标信创数据库,实现信创数据库之间的平滑迁移。
前言
Oracle数据库中的CHR函数用于将ASCII码值转换为相应的字符。MySQL数据库中对应的函数是CHAR函数。
-
支持Oracle 的chr函数解析和改写,只有1个入参,不需要支持USING NCHAR_CS用法;
-
n是一个整数,表示要转换的ASCII码值,只考虑常用的ASCII码值,即32 <= n <=127,其他范围的执行结果不考虑。
chr函数
转化
oracle语句
chr函数
tdmysql5.7语句
CHAR函数
结果
通过统一sql转化之后的结果:
-- 转换前Oracle SQL:
select CHR(67),CHR(68) from dual;
CHR(67)|CHR(68)|
-------+-------+
C |D |
-- 转换后TDSQL-MySQL:
SELECT char(67),char(68) FROM dual;
char(67)|char(68)|
--------+--------+
C |D |