0

我有两个表,我正在尝试加入一个公用列。但是由于我无法控制的情况,其中一列将数据存储为字符串,另一列存储为整数。我需要将字符串列转换为整数,反之亦然。我该怎么做?在 PgSQL 中,它就像 column::text 等一样简单,但我无法在 WebSQL 上工作。我该怎么做?

4

1 回答 1

1

您可以简单地将 INT 列转换为 VARCHAR?

CREATE TABLE T (ID INT);
CREATE TABLE T2 (ID VARCHAR(2));

INSERT INTO T VALUES (1);
INSERT INTO T VALUES (2);
INSERT INTO T VALUES (3);

INSERT INTO T2 VALUES ('1');
INSERT INTO T2 VALUES ('2');
INSERT INTO T2 VALUES ('3');

SELECT  *
FROM    T
        INNER JOIN T2
            ON T2.ID = CAST(T.ID AS VARCHAR(2));

SQL Fiddle 示例

您也可以使用CAST(VarcharColumn AS INT),但您更有可能遇到从字符串转换为 int 的转换错误,而不是从 int 转换为字符串。

于 2013-04-23T10:28:00.290 回答