【问题标题】:MySQL query to prepend character to each entryMySQL查询为每个条目添加字符
【发布时间】:2008-10-01 08:01:03
【问题描述】:

我有一个用户表,其中有一个用户名列,其中包含一个六位数字,例如 675381,我需要在每个用户名前面加上一个零,例如0675381 将是上一个示例的最终输出,是否有可以处理此问题的查询?

【问题讨论】:

    标签: mysql


    【解决方案1】:

    列是什么类型的?

    如果是字符串类型,试试这样的:

    UPDATE your_table SET column_name=concat('0',column_name);
    

    【讨论】:

      【解决方案2】:
      UPDATE Tablename SET Username = Concat('0', Username);
      

      【讨论】:

        【解决方案3】:

        你的意思是“前置”?即加在前面?

        列是数字吗?你总是希望输出 7 个字符吗?

        假设这样的事情适用于查询:

        select LPAD(CONVERT(username, CHAR), 7, '0')
        

        如果列是字符,则不需要 CONVERT() 部分,只需 LPAD 用户名即可。

        如果要永久修改表中的值,则需要确保该列是字符类型并使用上述方法进行 UPDATE。

        【讨论】:

          【解决方案4】:

          您可能想要使用 CONCAT_WS('', '0', Username) 因为如果有一个空值,那么你最终会得到 NULL 而不是 '0'。这可能不是问题,但我通过艰难的方式学到了一些东西。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-02-15
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-10
            • 2017-02-11
            • 2016-01-10
            相关资源
            最近更新 更多