【问题标题】:SQL - modify text for particular row entriesSQL - 修改特定行条目的文本
【发布时间】:2012-07-19 00:14:32
【问题描述】:

假设我有一个来自简单 SELECT 语句的 SQL 列。

如何在不覆盖数据的情况下修改特定行条目的文本?

我正在考虑为我在 VS 中创建的表缩进一些特定条目(例如,每个名为“名称”的条目都将更改为“名称”)。所以我想修改我的 SQL 查询以更改某些特定字段在调用时缩进。

提前致谢!

【问题讨论】:

  • 您使用的是哪种 SQL 方言? MS SQL Server/T-SQL? PL-SQL(甲骨文)? MySQL?

标签: sql view format


【解决方案1】:

对于 MySQL,您可以使用 replace

SELECT REPLACE(field, 'Name', ' Name')

对于 Oracle,您可以使用 translate

SELECT TRANSLATE(...). 

您也可以在 MySQL 和 T-SQL 中通过 CASE 语句执行此操作。

【讨论】:

    【解决方案2】:

    在mysql中...

    UPDATE TABLE_NAME SET NAME = CONCAT(' ', NAME) WHERE ...
    

    【讨论】:

    • 我认为要求不是修改数据。
    • 操作说 “不覆盖数据” 所以不想更新数据 SELECT id, CASE WHEN name IS NOT NULL THEN CONCAT(' ', name) as c_name FROM tbl;
    • @mike 没关系——这个想法最初也闪过我的脑海 :)
    猜你喜欢
    • 1970-01-01
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多