gpt4 book ai didi

mysql - sql join on string = integer 以在任何 RDBMS 上工作

转载 作者:可可西里 更新时间:2023-11-01 07:39:29 25 4
gpt4 key购买 nike

我需要加入列上的两个表,在一个表中定义为字符串,在另一个表中定义为整数。在两列中,实际存储的数据都是整数。这是我设计的 - 我无法更改。

所以当我加入 MySQL 时很好 - 它会默默地进行转换。 PostgreSQL 提示。有 CAST 运算符,我可以将其添加到查询中以将 strings 转换为 integers,但 CAST 函数在不同的 RDBMS 中定义不同。

我能否按照在所有(或许多)RDBMS 中工作的方式编写此查询?或者,是否有数据库抽象层可以为我做这件事? ADODB 已在项目中使用,但我看不出它是否以及如何帮助解决这个问题。

谢谢。

最佳答案

由于数据类型的原因,您不能以相同的方式为每个数据库CAST INT,因此您可以将数字字段转换为CHAR:

CAST(a.numeric_Field AS CHAR(5))` = b.stringfield

这将适用于 Postgresql、MySQL、SQL Server,其他不确定。

关于mysql - sql join on string = integer 以在任何 RDBMS 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27644811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com