我正在将数据从一个数据库表复制到另一个数据库表。这主要是将数据从旧格式复制到新格式。因此,除了简单地复制值value-for-value之外,我还需要在copy语句中进行一些转换。
例如,以下是我必须要复制的内容......
INSERT INTO new_database.table1 (id, product, is_default)
SELECT id, product, is_default FROM old_database.table1
id和产品工作正常。但是,在此示例中,old_database将“is_default”存储为VARCHAR(1)
,“Y”或“N”。 new_database将“is_default”存储为BOOLEAN
。
如何在我已经使用的INSERT SELECT语句中进行格式之间的转换?
答案 0 :(得分:2)
尝试如下:
INSERT INTO new_database.table1 (id, product, is_default)
SELECT id, product, IF(is_default='Y',1,0) as isdefault FROM old_database.table1