[MSSQL]去掉小数位数后面的0

本文介绍了如何使用自定义函数在MSSQL中去掉小数位数后面的0,帮助你优化数值字段的显示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用自定义函数处理:

CREATE function [dbo].[ClearZero](@inValue varchar(50))
returns varchar(50)
as
begin
declare @returnValue varchar(20)
if(@inValue='')
   set @returnValue='' --空的时候为空
else if (charindex('.',@inValue) ='0')
   set @returnValue=@inValue --针对不含小数点的
else if ( substring(reverse(@inValue),patindex('%[^0]%',reverse(@inValue)),1)='.')
          set @returnValue =left(@inValue,len(@inValue)-patindex('%[^0]%',reverse(@inValue))) --针对小数点后全是0的
      else
          set @returnValue =left(@inValue,len(@inValue)- patindex('%[^0]%.%',reverse(@inValue))+1) --其他任何情形
return @returnValue
end

 

### 编程中保留小数位数的语法与示例 #### PHP 中使用 `number_format` 函数 在 PHP 中,可以通过 `number_format` 函数实现对浮点数的小数位数进行控制。该函数允许指定要保留的小数位数以及自定义小数点和千位分隔符。 以下是具体用法及其示例: ```php <?php // 基本用法 $number = 1234.5678; $formatted_number = number_format($number, 2, '.', ','); echo $formatted_number; // 输出: 1,234.57 [^1] // 不带千位分隔符的情况 $simple_formatted_number = number_format($number, 2); echo $simple_formatted_number; // 输出: 1234.57 ?> ``` 上述代码展示了如何通过 `number_format` 将 `$number` 的值格式化为两位小数,并分别演示了带有千位分隔符和不带千位分隔符的结果。 #### SQL Server 中使用 `ROUND` 函数 对于数据库操作中的数值处理,在 Microsoft SQL Server 中可以利用 `ROUND` 函数来完成小数位数的保留功能。其主要作用是对数值表达式按指定位数进行四舍五入或其他方式的操作。 下面给出一段基于 MSSQL 的实例说明: ```sql -- 定义变量并赋初值 DECLARE @value DECIMAL(10, 4) = 9876.54321; -- 调整至特定精度 SELECT ROUND(@value, 2); -- 结果返回:9876.54 [^3] ``` 此脚本先声明了一个具有四位小数部分的数据类型存储单元,接着调用了 `ROUND()` 方法将其精确到仅剩两个有效数字位于小数点之后的位置上。 --- #### 总结 不同编程环境提供了各自的工具集用于解决类似的业务逻辑需求——即调整显示或者计算过程中涉及的实际数据长度问题。无论是前端展示层面上考虑用户体验而做的美化修饰工作(如货币金额),还是后台运算环节里追求更高的准确性标准,则都需要灵活运用这些基础知识点加以实践应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厦门德仔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值