如何随机一个零前导字符串字段mysql

2024-08-22php开发问题
1

本文介绍了如何随机一个零前导字符串字段mysql的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我不确定您是否正确理解了我的问题.所以我可以解释一下.我有一个客户表,需要用不同的数字进行测试(无论它是否真实).所以这是脚本:

I'm not sure if you understand my question correctly. So may I explain a bit. I have a customer table which is needed to test with different number (no matter if it real). So this is the script:

customer_db

+----+------------+
| ID |   NUMBER   |
+----+------------+
| 1  | 0812345678 |
+----+------------+
| 2  | 0812345678 |
+----+------------+
| 3  | 0812345678 |
+----+------------+
.
.
.
|100 | 0812345678 |

根据表格.我运行了这个脚本:

According to the table. I ran this script:

UPDATE customer_db SET number = FLOOR(0812345678 + rand()*1000000);

这样做.我希望该字段保持与前导081"相同的格式,并随机其余 6 位数字.但事实并非如此.表格变成了这些:

Doing this. I expect the field remains the same format with leading '081' and random the rest 6 digits. But it's not. The table becomes these :

+----+------------+
| ID |   NUMBER   |
+----+------------+
| 1  | 812246797 |
+----+------------+
| 2  | 816548798 |
+----+------------+
| 3  | 815787898 |
+----+------------+
.
.
.
|100 | 813454687 |

它是 9 位而不是 10 位.因为缺少前导 '0'.我应该怎么做才能在随机后保持领先的0".

It 9 digits instead of 10. Because the leading '0' is missing. What should I do to remain the leading '0' after the random.

推荐答案

就像@B-and-P 在他的评论中描述的那样.您可以使用 LPAD 来做到这一点.

Like @B-and-P describes in his comment. You can do this using LPAD.

UPDATE 
    customer_db
SET
    number = LPAD(FLOOR(number + rand()*1000000),10,0)

LPAD 使用 3 个参数;字符串,字符总数以及最后但并非最不重要的应该使用哪个字符进行填充.

LPAD uses 3 parameters; string, total amount of characters and last but not least which character should be used for padding.

这篇关于如何随机一个零前导字符串字段mysql的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17