将前导零添加到MySQL数据
我在MySQL表中有一些混乱的数据需要清除。所有内容都应该是3或4个字符,两个字符的内容都需要前导零 混乱数据示例:将前导零添加到MySQL数据,mysql,sql,Mysql,Sql,我在MySQL表中有一些混乱的数据需要清除。所有内容都应该是3或4个字符,两个字符的内容都需要前导零 混乱数据示例: 23 5351 142 91 4911 1514 53 931 984 应该是: 023 5351 142 091 4911 1514 053 931 984 我已经读到应该使用ZEROFILL或LPAD,但由于我的长度不同(3-4),我不确定这是否是最好的方法,我担心4个字符的数据会被缩短或类似。我想知道一些方向-谢谢 编辑:我应该添加,此列的类型为mediumint(2)
23
5351
142
91
4911
1514
53
931
984
应该是:
023
5351
142
091
4911
1514
053
931
984
我已经读到应该使用ZEROFILL或LPAD,但由于我的长度不同(3-4),我不确定这是否是最好的方法,我担心4个字符的数据会被缩短或类似。我想知道一些方向-谢谢
编辑:我应该添加,此列的类型为mediumint(2)。如果需要,我可以随意更改此选项。使用ZEROFILL,因为它可以满足您在长度超过3时不截断数据的要求。如果小于3,则仅填充0
使用ZEROFILL,因为它可以满足在长度超过3时不截断数据的要求。如果小于3,则仅填充0
使用ZEROFILL,因为它可以满足在长度超过3时不截断数据的要求。如果小于3,则仅填充0
使用ZEROFILL,因为它可以满足在长度超过3时不截断数据的要求。如果小于3,则仅填充0 我担心4个字符的数据将被缩短或类似 否。除非指定的填充长度小于数据的当前长度,否则不会剪切数据 使用
LPAD
可以确保给定的长度
示例:
mysql> SELECT LPAD('hi',4,'??');
-> '??hi' -- result is a string of length 4
-- result data will be cut if padding is less than data length
mysql> SELECT LPAD('hi',1,'??');
-> 'h' -- result is a string of length 1
在数据上,可以指定等于字段数据最大长度的长度。
如果数据的最大长度为4位,则试试这个:
SELECT field_name fv, LPAD( field_name, 4, '0' ) lfv from my_table;
其结果如下:
+------+------+
| fv | lfv |
+------+------+
| 23 | 0023 |
| 5351 | 5351 |
| 142 | 0142 |
| 91 | 0091 |
| 4911 | 4911 |
| 1514 | 1514 |
| 53 | 0053 |
| 931 | 0931 |
| 984 | 0984 |
+------+------+
请参阅:
我担心4个字符的数据将被缩短或类似
否。除非指定的填充长度小于数据的当前长度,否则不会剪切数据
使用LPAD
可以确保给定的长度
示例:
mysql> SELECT LPAD('hi',4,'??');
-> '??hi' -- result is a string of length 4
-- result data will be cut if padding is less than data length
mysql> SELECT LPAD('hi',1,'??');
-> 'h' -- result is a string of length 1
在数据上,可以指定等于字段数据最大长度的长度。
如果数据的最大长度为4位,则试试这个:
SELECT field_name fv, LPAD( field_name, 4, '0' ) lfv from my_table;
其结果如下:
+------+------+
| fv | lfv |
+------+------+
| 23 | 0023 |
| 5351 | 5351 |
| 142 | 0142 |
| 91 | 0091 |
| 4911 | 4911 |
| 1514 | 1514 |
| 53 | 0053 |
| 931 | 0931 |
| 984 | 0984 |
+------+------+
请参阅:
我担心4个字符的数据将被缩短或类似
否。除非指定的填充长度小于数据的当前长度,否则不会剪切数据
使用LPAD
可以确保给定的长度
示例:
mysql> SELECT LPAD('hi',4,'??');
-> '??hi' -- result is a string of length 4
-- result data will be cut if padding is less than data length
mysql> SELECT LPAD('hi',1,'??');
-> 'h' -- result is a string of length 1
在数据上,可以指定等于字段数据最大长度的长度。
如果数据的最大长度为4位,则试试这个:
SELECT field_name fv, LPAD( field_name, 4, '0' ) lfv from my_table;
其结果如下:
+------+------+
| fv | lfv |
+------+------+
| 23 | 0023 |
| 5351 | 5351 |
| 142 | 0142 |
| 91 | 0091 |
| 4911 | 4911 |
| 1514 | 1514 |
| 53 | 0053 |
| 931 | 0931 |
| 984 | 0984 |
+------+------+
请参阅:
我担心4个字符的数据将被缩短或类似
否。除非指定的填充长度小于数据的当前长度,否则不会剪切数据
使用LPAD
可以确保给定的长度
示例:
mysql> SELECT LPAD('hi',4,'??');
-> '??hi' -- result is a string of length 4
-- result data will be cut if padding is less than data length
mysql> SELECT LPAD('hi',1,'??');
-> 'h' -- result is a string of length 1
在数据上,可以指定等于字段数据最大长度的长度。
如果数据的最大长度为4位,则试试这个:
SELECT field_name fv, LPAD( field_name, 4, '0' ) lfv from my_table;
其结果如下:
+------+------+
| fv | lfv |
+------+------+
| 23 | 0023 |
| 5351 | 5351 |
| 142 | 0142 |
| 91 | 0091 |
| 4911 | 4911 |
| 1514 | 1514 |
| 53 | 0053 |
| 931 | 0931 |
| 984 | 0984 |
+------+------+
请参阅:LPAD是您想要的,但您只想将0添加到长度小于3个字符的数字中,您可以执行以下操作:
update TABLE set COLUMN = LPAD(COLUMN, 3, '0') where COLUMN < 100
updatetablesetcolumn=LPAD(列,3,'0'),其中列<100
LPAD是您想要的,但您只想向长度小于3个字符的数字添加0,您可以执行以下操作:
update TABLE set COLUMN = LPAD(COLUMN, 3, '0') where COLUMN < 100
updatetablesetcolumn=LPAD(列,3,'0'),其中列<100
LPAD是您想要的,但您只想向长度小于3个字符的数字添加0,您可以执行以下操作:
update TABLE set COLUMN = LPAD(COLUMN, 3, '0') where COLUMN < 100
updatetablesetcolumn=LPAD(列,3,'0'),其中列<100
LPAD是您想要的,但您只想向长度小于3个字符的数字添加0,您可以执行以下操作:
update TABLE set COLUMN = LPAD(COLUMN, 3, '0') where COLUMN < 100
updatetablesetcolumn=LPAD(列,3,'0'),其中列<100
if(length(your_字段)这是一个错误的标题。它应该说,“在Mysql数据表示中添加前导零”。前导零在这里不是数据的一部分。if(length(your_字段)这是一个错误的标题。它应该说,“在Mysql数据表示中添加前导零”。前导零在这里不是数据的一部分。如果(length(your_字段)这是一个不好的标题。它应该说,“在Mysql数据表示中添加前导零”。前导零在这里不是数据的一部分。如果(length(your_字段)这是一个不好的标题。它应该说,“在Mysql数据表示中添加前导零”。前导零不是数据的一部分。谢谢-最简单的解决方案,我很高兴我可以使用ZEROFILL。我现在可以作为MEDIUMINT(4)ZEROFILL使用。谢谢-最简单的解决方案,我很高兴我可以使用ZEROFILL。我现在可以作为MEDIUMINT(4)使用ZEROFILL谢谢-最简单的解决方案,我很高兴我可以使用ZEROFILL。我现在可以作为MEDIUMINT(4)ZEROFILL使用。谢谢-最简单的解决方案,我很高兴我可以使用ZEROFILL。我现在可以作为MEDIUMINT(4)ZEROFILL使用