mysql - 有没有办法计算 MySQL 列中的所有尾随零?
问题描述
我正在寻找是否有办法计算列中尾随零的数量。该列最多由 13 个数字组成,如下所示,我想在实际数字之前计算所有零,但不知道如何去做。
Example numbers
2200040000000 -- this would have the value 7
1411258181000 -- this would have the value 3
我已经设法在 Excel 中做到这一点,但我试图直接在 MySQL 中的查询中做到这一点,而不是在 Excel 中导入数据,然后编写查询,因为还有更多的步骤需要完成。
以下是公式:
=6+RIGHT(TEXT(B17,"0.##############E+00"),2)-LEN(TEXT(B17,"0.##############E+00"))
如果有人能就如何解决这个问题提出建议,我将不胜感激,因为这将真正帮助我前进,而不是在 Excel 中来回走动。
解决方案
您可以使用string functionTRIM()
,它在 MySQL 早期就可用:
char_length(num) - char_length(trim(trailing '0' from num))
trim(...)
0
从字符串中删除尾随s;原始值和修剪值之间的长度差异为您提供0
了字符串中尾随 s 的数量。
create table t (num bigint);
insert into t values (2200040000000), (1411258181000);
select
num,
char_length(num) - char_length(trim(trailing '0' from num)) cnt_trailing_0s
from t;
编号 | cnt_trailing_0s ------------: | --------------: 2200040000000 | 7 1411258181000 | 3
推荐阅读
- qmake - QMake 和 pkg-config
- sql - 选择失败的 SQL 更新行
- ios - 根据 iOS 设计标准,所有 1x、2x、3x 是否具有相同的字体大小?
- android-constraintlayout - 插入的按钮不可见。约束布局
- android - 根据当前登录的用户过滤 AppCenter 推送通知
- validation - 如何解决“标记架构第 2 行中的数据过早结束”
- java - 在 android 9 上未调用应用程序扩展类的 onCreate
- javascript - Ajax Sync True 不工作并且加载太慢
- amazon-cloudformation - 如何在 AWS Cloudformation 模板中创建 CodeCommit 分支以及 CodeCommit 存储库?
- android - 世博会:世博构建和世博上传有什么区别