【问题标题】:How do I update SQL string dynamically?如何动态更新 SQL 字符串?
【发布时间】:2019-11-25 07:26:36
【问题描述】:

我必须使用 concat 来存储字符串的子字符串。 示例:

SET X VARCHAR(10);
LOOP:
SET X = CONCAT(X,'new_value');
END LOOP

set 的作用是在 X 中存储一个新值,而不是所有连接的值。

我如何做到这一点?

+= 不起作用

【问题讨论】:

  • 你能解释一下你的意思吗?我不清楚你在问题中提到的内容
  • 这不是可行的 mysql 代码 - 你确定问题被正确标记了吗 - 如果是的话,你可以包括所有存储的程序这个代码。
  • 此外,如果您 concat 包含一个空值,则结果为空,因此请使用 coalesce 来应对这种可能性。

标签: mysql stored-procedures mariadb database-trigger


【解决方案1】:

SET X VARCHAR(10); 那行不通。也许你的意思是DECLARE x VARCHAR(10);

但可能更好的是跳过声明并简单地做

SET @x := CONCAT(@x, 'appended string');

或

SELECT @x := CONCAT(@x, 'appended string');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 2022-01-02
    • 2011-04-02
    • 2023-03-25
    • 2023-03-09
    相关资源
    最近更新 更多