【发布时间】:2008-10-01 08:01:03
【问题描述】:
我有一个用户表,其中有一个用户名列,其中包含一个六位数字,例如 675381,我需要在每个用户名前面加上一个零,例如0675381 将是上一个示例的最终输出,是否有可以处理此问题的查询?
【问题讨论】:
标签: mysql
我有一个用户表,其中有一个用户名列,其中包含一个六位数字,例如 675381,我需要在每个用户名前面加上一个零,例如0675381 将是上一个示例的最终输出,是否有可以处理此问题的查询?
【问题讨论】:
标签: mysql
列是什么类型的?
如果是字符串类型,试试这样的:
UPDATE your_table SET column_name=concat('0',column_name);
【讨论】:
UPDATE Tablename SET Username = Concat('0', Username);
【讨论】:
你的意思是“前置”?即加在前面?
列是数字吗?你总是希望输出 7 个字符吗?
假设这样的事情适用于查询:
select LPAD(CONVERT(username, CHAR), 7, '0')
如果列是字符,则不需要 CONVERT() 部分,只需 LPAD 用户名即可。
如果要永久修改表中的值,则需要确保该列是字符类型并使用上述方法进行 UPDATE。
【讨论】:
您可能想要使用 CONCAT_WS('', '0', Username) 因为如果有一个空值,那么你最终会得到 NULL 而不是 '0'。这可能不是问题,但我通过艰难的方式学到了一些东西。
【讨论】: