2013-04-23 62 views
0

我有兩個表,我試圖加入一個共同的列。由於我無法控制的情況,其中一列將數據存儲爲字符串,另一列存儲爲整數。我需要將字符串列轉換爲整數,反之亦然。我將如何做到這一點?在PgSQL中,它會像column :: text一樣簡單,但我無法在WebSQL上找到一些工作。我將如何做到這一點?WebSQL類型鑄造列

回答

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到字符串。