Phi*_*lip 0 sql t-sql sql-server
我有一个附件表,以字节为单位存储文档的大小。
我需要以 KB 或 MB 显示所有文档的结果集。如果文档小于 1MB,则以 KB 为单位;如果文档大于 1MB,则以 MB 为单位。
目前我的查询中有这个,但我正在努力使显示在舍入方面正确格式化。
CASE WHEN D.DocumentSize < 1000000 THEN
CONCAT(D.DocumentSize / 1024, 'KB')
ELSE
CONCAT(D.DocumentSize / 1048576, 'MB')
END AS DocumentSizeText,
Run Code Online (Sandbox Code Playgroud)
以下是一些示例值:
87336
1458250
346
8434
8434
Run Code Online (Sandbox Code Playgroud)
346 字节也将显示 0KB,因此理想情况下显示 1KB 将是理想的最小值。
使用FORMAT,如果你想在MB十进制值的规定显著数量。N3这里用于显示 3 个十进制数字。
(CASE WHEN D.DocumentSize < 1000000 THEN
CONCAT(CEILING(D.DocumentSize / 1024.0), 'KB')
ELSE
CONCAT(FORMAT(D.DocumentSize / 1048576.0, 'N3'), 'MB')
END) AS DocumentSizeText
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12615 次 |
| 最近记录: |