如何将表创建为另一个表中的副本,并在一个语句中替换列中的值

时间:2016-07-22 06:46:38

标签: mysql oracle replace create-table

我有一个带有“filename”列的表Test。现在我想制作该表的副本并自动替换该列中的名称。

我搜索的内容如下:

CREATE TABLE TEST2  AS (SELECT * FROM TEST t WHERE t.filename LIKE 'file%' REPLACE(t.filename,'file/view','etc/tmp' ));

是否可以在一个声明中这样做?

1 个答案:

答案 0 :(得分:1)

将替换功能放在正确的位置。

CREATE TABLE TEST2 AS (
    SELECT
            REPLACE (
                    t.filename,
                    'file/view',
                    'etc/tmp'
            ) AS filename,
            t.otherfield,
      t.whateverfield
    FROM
        TEST t
    WHERE
      t.somefield = "xy"
);