aav*_*yan 5 mysql sql postgresql join adodb
我需要join在列上有两个表,在一个表中定义为string,在另一个表中定义为integer。在这两列中,实际存储的数据都是整数。这是设计给我的 - 我无法改变这一点。
所以当我加入时MySQL很好 - 它会默默地进行转换。PostgreSQL抱怨。有一些CAST运算符,我可以将它们添加到查询中以将字符串转换为整数,但 CAST 函数在不同的 RDBMS 中定义不同。
我可以按照它在所有(或许多)RDBMS 中的工作方式编写此查询吗?或者,是否有 DB 抽象层,它可以为我做到这一点?ADODB已在项目中使用,但我不知道它是否以及如何有助于解决此问题。
谢谢你。
由于数据类型的原因,您无法对每个数据库CAST采用INT相同的方式,因此您可以将数字字段转换为CHAR:
CAST(a.numeric_Field AS CHAR(5))` = b.stringfield
Run Code Online (Sandbox Code Playgroud)
这适用于 Postgresql、MySQL、SQL Server,不确定其他的。
| 归档时间: |
|
| 查看次数: |
7931 次 |
| 最近记录: |