【发布时间】:2019-10-25 04:22:53
【问题描述】:
我在现有 CRM 数据库中从 CSV 导入了几千条记录,显然电话号码列中的所有前导零都消失了。在寻找答案时,我能找到的所有其他问题都是关于字符串的固定长度。但我的电话号码长短不一。需要返回前导零的是那些以不同于零的数字开头的那些。旧记录(在我的 CSV 导入之前)很好,我不需要另一个零放在它们前面。 请记住,我不是程序员,这一切对我来说都非常困难 - 甚至无法解释。
我尝试通过 phpmyadmin 以 CSV 格式导出数据库表,并在 LibreOffice 中解决问题,然后将其放回(导入)...但有记录 NULL 不在引号 "" 中时导出,当我将文件保存在 LibreOffice 中时,所有字段都在引号中,包括 NULL 字段。所以我想这行不通。这是一个生产环境。有问题的表是 SugarCRM CE 数据库的“联系人”表。该字段是varchar(100)。所以总结一下我的问题是:是否有一个函数可以放在 phpmyadmin 或终端中(我有 root 访问权限),它将识别这个特定表(联系人)中的记录,这些记录以不同于零的数字和广告开头前面一个零?
我知道我应该展示我尝试过的代码并给出一些反馈结果是什么,但我不能。对不起。任何帮助将不胜感激。
【问题讨论】:
-
这里最好的解决方法是将您的电话号码导入为 text,而不是数字,这似乎是您已经完成的操作。如果您想要一个补丁来用零填充您的文本电话号码,我们可以提供帮助,但我们需要查看一些示例数据。
-
如果 0 实际上是 chacode 0 那么它将被解释为用于标记字符串结尾的空终止符,您需要确保当您想要一个 0 作为数字时,您通过添加 0x30(十六进制)或 48 十进制将其转换为 ASCII 代码。
-
顺便说一下,切勿在表/列标识符中使用“-”。它可能会带来灾难性的后果。
标签: mysql