mysql - 如何创建一个表作为另一个表的副本并替换一个语句中列的值

标签 mysql oracle replace create-table

我有一个包含“文件名”列的测试表。现在我想复制该表并自动替换该列中的名称。

我搜索类似的东西:

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

是否可以在一条语句中完成此操作?

最佳答案

将替换函数放在正确的位置。

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"
);

关于mysql - 如何创建一个表作为另一个表的副本并替换一个语句中列的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38519881/

相关文章:

sql - Oracle DB LIKE 查询 NULL 值

oracle - Oracle 中的多个 REPLACE 函数

mysql - 如何在 FreeBSD 上使用 gethostbyname_r 和 DBI 或 DBD::MySQL 解决此问题?

mysql - Solr 中的多个索引

c++ - Oracle 11gR1 或 R2 客户端上是否有设置可在 ODBC API 调用中将 SELECT COUNT(*) 返回的数据类型从 DOUBLE 更改为 LONG?

sql - 您将如何在 SQL 脚本中强制执行 DRY(不要重复自己)?

javascript - "replace is not a function"

Python 替换 Dataframe 字符串中的整个值而不是子字符串

php - Codeigniter A数据库发生错误错误号: 1064

mysql - 在 varchar 键上连接多个表 - MYSQL : Performance Issues