统一SQL介绍
https://www.light-pg.com/docs/LTSQL/current/index.html
源和目标
源数据库:Oracle
目标数据库:Postgresql,TDSQL-MySQL,达梦8,LightDB-Oracle
操作目标
在Oracle中,cast函数允许将一种内建数据类型转换成另一种内建类型。当前统一SQL支持红框语法分支到目标数据库的转换。
在Oracle中,cast内建类型转换列表,本文针对cast(expr as number)说明经过统一SQL转换到目标库中与之适配的数据类型。
统一SQL转换
通过统一SQL到目标库Postgresql,TDSQL-MySQL,达梦8,LightDB-Oracle转换结果如下:
(关于数据类型number/decimal/dec/numeric还可参考文章:https://blog.csdn.net/Richar1/article/details/137876283 )
cast(x as target_type) | 测试Oracle-SQL | 2pg-expect | 2tdmysql-expect | 2dm-expect | 2ltora-expect |
number | select CAST(col_float_binary AS NUMBER) AS to_nu FROM topg_function_cast_table WHERE id = 1; | decimal | decimal | number | number |
number(*) | select CAST(col_float_binary AS NUMBER(*)) AS to_nu FROM topg_function_cast_table WHERE id = 1; | decimal | decimal | number | number |
number(*,0) | select CAST(col_float_binary AS NUMBER(*,0)) AS to_nu FROM topg_function_cast_table WHERE id = 1; | decimal(38,0) | decimal(38,0) | number(38,0) | number(38,0) |
number(*,s) | select CAST(col_float_binary AS NUMBER(*,2)) AS to_nu F |