SQLite中如何为字节转换结果追加MB/KB/bytes单位?
解决SQLite字节转可读格式并追加单位的问题
很简单,你只需要利用SQLite的字符串拼接运算符||,把每个CASE分支计算出的数值和对应的单位字符串组合起来就行。修改后的SQL代码如下:
select "Data Sent", CASE WHEN "Data Sent" > 1024*1024 THEN round("Data Sent"*1.0/(1024*1024), 2) || ' MB' WHEN "Data Sent" > 1024 THEN round("Data Sent"*1.0/(1024), 2) || ' KB' ELSE "Data Sent" || ' bytes' END as conv_data from testdb
改动说明:
- 每个条件分支都通过
||将计算后的数值与对应的单位(' MB'、' KB'、' bytes')拼接成完整字符串 - 把原来的
WHEN "Data Sent" < 1024替换成ELSE,因为前面两个条件已经覆盖了所有大于1024的情况,剩下的自然就是≤1024的字节数,逻辑更简洁
执行这段代码后,就能得到你想要的带单位的可读格式结果:
| Data Sent | conv_data |
|---|---|
| 17210032 | 16.41 MB |
| 60080929 | 57.3 MB |
| 64061961 | 61.09 MB |
| 29894 | 29.19 KB |
| 862 | 862 bytes |
内容的提问来源于stack exchange,提问作者d95mtrx
相关产品推荐
相关产品推荐

