WebSQL类型的转换列

时间:2013-04-23 10:06:59

标签: sql types casting web-sql

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

1 个答案:

答案 0 :(得分: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));

<强> Example on SQL Fiddle

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