zoukankan      html  css  js  c++  java
  • 去除小数后0与转文本

    1 最简单方法

    select cast ( CAST ('12.3400' as float) AS VARCHAR(40))
    
    --12.34
    --注意 精度丢失
    
    select cast ( CAST ('123456.7800' as float) AS VARCHAR(40))
    
    --123457   
    
    
    --注意 精度丢失和科学计数法
    
    select cast ( CAST ('12345678.00' as float) AS VARCHAR(40))
    
    --1.23457e+007

    2 目前发现靠谱方法还是自定义函数

    --以下SQL代码为网络摘抄
    CREATE
    FUNCTION dbo.ufn_hr_clearzero (@inValue VARCHAR(50)) RETURNS VARCHAR(50) AS BEGIN DECLARE @returnValue VARCHAR(40); 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;
  • 相关阅读:
    Linux
    网络
    线程池
    JVM内存结构相关知识
    JVM命令
    maven
    多线程
    AJAX、JSON
    JSP、EL、JSTL
    Mysql面试总结
  • 原文地址:https://www.cnblogs.com/BinBinGo/p/10385660.html
Copyright © 2011-2022 走看看