Java 解决h2与oracle函数到_字符的转换

Java 解决h2与oracle函数到_字符的转换,java,oracle-sqldeveloper,h2,Java,Oracle Sqldeveloper,H2,我有一个表l$act,它的id是一个数字(抱歉更正) 我有以下h2行: select char(act_table.id) lookup_val from l$act act_table 在h2中运行良好 我还有以下oracle行: select to_char(act_table.id) lookup_val from l$act act_table 这在甲骨文中运行得很好 不幸的是,我在测试中运行h2,在开发中运行oracle 我找到了cast(见:) 这对双方都有效。我测试了它,它在我

我有一个表l$act,它的id是一个数字(抱歉更正)

我有以下h2行:

select char(act_table.id) lookup_val from l$act act_table
在h2中运行良好

我还有以下oracle行:

select to_char(act_table.id) lookup_val from l$act act_table
这在甲骨文中运行得很好

不幸的是,我在测试中运行h2,在开发中运行oracle

我找到了cast(见:) 这对双方都有效。我测试了它,它在我的基本情况下工作

然而,我在谷歌上搜索了一下,发现这说明我不应该对数字使用cast

我在寻找更好的解决办法。有没有一种方法可以在sql语句中不使用cast来处理这个问题?我希望有人可能遇到过这种情况,并且知道一个同时适用于两者的函数

附近有工作吗

目前,根据上面的链接,如果cast是唯一的选项,那么我需要添加额外的填充来处理大多数数字。但它仍然被贴上“危险”的标签,我不确定自己是否完全理解这些风险


我想知道如果存在更好的解决方案是什么,或者使用带有额外填充的cast会有什么风险(我不确定我是否完全理解上面的链接)

你说你在开发中运行Oracle。而
to_char
是一个Oracle函数。但是你的标题和标签上写着MySQL(一个恰好属于Oracle公司的数据库,与Oracle数据库完全不同)。如果您使用的是Oracle,那么使用
cast
转换数据类型是完全合理的,前提是您不想对生成的字符串进行任何格式化。通常,当您将数字或日期转换为字符串时,您会关心生成的字符串的格式。@JustinCave对不起,也许我弄错了让我check@JustinCave对不起,是的,我正在使用Oracle。我只想将long(id)转换为字符串。我找到了cast,但与上面的链接有关的是
id
a
long
(一种被
clob
长期取代的用于存储大量文本数据的非擦洗数据类型)还是
?@Justin Cave,对不起,id是一个号