使用最简SQL实现最小长度为5的补零逻辑技术问询
SQL补零解决方案
核心逻辑拆分
- 无小数点的数值:左补零至最小长度5位,原长度≥5则保持不变
- 含小数点的数值:
- 先修正开头为
.的格式(如.2转为0.2) - 若修正后总长度不足5,在小数末尾补零至总长度5;原长度≥5则保持不变
- 先修正开头为
最简SQL语句
SELECT CASE -- 处理不含小数点的情况 WHEN col NOT LIKE '%.%' THEN LPAD(col, 5, '0') -- 处理含小数点的情况 ELSE -- 先修正开头为.的格式,再补零到总长度5 RPAD(REGEXP_REPLACE(col, '^\.', '0.'), 5, '0') END AS padded_col FROM your_table;
验证示例
| 原始值 | 处理后结果 |
|---|---|
| 2.34 | 2.340 |
| 0.158787 | 0.158787 |
| .2 | 0.200 |
| 5 | 00005 |
| 2093 | 02093 |
| 78934 | 78934 |
内容的提问来源于stack exchange,提问作者alice
相关产品推荐
相关产品推荐

