У меня есть две таблицы с общим столбцом, к которому я пытаюсь присоединиться. Как бы из-за обстоятельств, которые я не контролирую, один из столбцов хранит данные в виде строки, а другой - как целое. Мне нужно преобразовать колонку строки в целое число или наоборот. Как мне это сделать? В PgSQL это будет так же просто, как column :: text и т. Д., Но я не могу получить что-то, работающее на WebSQL. Как мне это сделать?Таблицы отливок типа WebSQL
0
A
ответ
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 в строку.