2013-04-23 2 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 в строку.