MySQL查询在每个条目之前添加字符
时间:2020-03-06 14:57:57 来源:igfitidea点击:
我有一个用户表,其中有一个由六位数组成的用户名列,例如675381,我需要为这些用户名中的每个用户名前面加一个零。 0675381将是前一个示例的最终输出,是否存在可以处理此问题的查询?
解决方案
UPDATE Tablename SET Username = Concat('0', Username);
列是什么类型?
如果是字符串类型,请尝试如下操作:
UPDATE your_table SET column_name=concat('0',column_name);
我们是说"前置"?即在前面添加它?
列是数字的吗?是否总是要输出7个字符?
假设,这样的查询将适用于查询:
select LPAD(CONVERT(username, CHAR), 7, '0')
如果该列是字符,则不需要CONVERT()部分,只需使用LPAD用户名即可。
如果要永久修改表中的值,则需要确保该列是字符类型,并使用上述内容进行UPDATE。
我们可能想使用CONCAT_WS('','0',用户名),因为如果有一个空值,那么我们将以NULL而不是'0'结尾。这可能不是问题,但是我已经学到了一些困难的方法。