gpt4 book ai didi

sql - 添加尾随零和前导零

转载 作者:行者123 更新时间:2023-12-02 09:11:34 24 4
gpt4 key购买 nike

我们如何转换数字并添加尾随零和前导零?例如 123.45。我需要将其设置为十位数字,并在前面和后面填充数字。我想将其转换为 0001234500。小数点后最后一位数字后的两个尾随数字。去掉小数点。用零填充前端的剩余空间。

到目前为止我已经有了这个,它添加了尾随零并删除了小数点。

REPLACE(RIGHT('0'+CAST(rtrim(convert(char(10),convert(decimal(10,4),Field))) AS VARCHAR(10)),10),'.','') as New_Field

最佳答案

在 MySQL 中,您可以使用 RPADLPAD 来完成类似的操作,在 SQL Server (2012+) 中,您可以通过使用 获得类似的操作格式

最简单的方法是用点格式化数字,以便它们在格式字符串中占据正确的位置,然后删除该点。您需要指定区域设置,因为在不同的区域您将得到不同的小数点符号(即使您在格式模式中使用 . ,您也会在不同的区域设置中得到 , ) - 使用 en-US 确保您得到一个点。

REPLACE(FORMAT(somenumber, '000000.0000', 'en-US'), '.', '')

一些例子:

WITH TempTable(somenumber) AS (
SELECT 3
UNION SELECT 3.4
UNION SELECT 3.45
UNION SELECT 23.45
UNION SELECT 123.45
)
SELECT
somenumber,
REPLACE(FORMAT(somenumber, '000000.0000', 'en-US'), '.', '')
FROM
TempTable;

给予

3.00    0000030000
3.40 0000034000
3.45 0000034500
23.45 0000234500
123.45 0001234500

关于sql - 添加尾随零和前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51467028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com