我有两个表,我正在尝试加入一个公用列。但是由于我无法控制的情况,其中一列将数据存储为字符串,另一列存储为整数。我需要将字符串列转换为整数,反之亦然。我该怎么做?在 PgSQL 中,它就像 column::text 等一样简单,但我无法在 WebSQL 上工作。我该怎么做?
问问题
1211 次
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));
您也可以使用CAST(VarcharColumn AS INT)
,但您更有可能遇到从字符串转换为 int 的转换错误,而不是从 int 转换为字符串。
于 2013-04-23T10:28:00.290 回答