SQL查询金额去掉小数点后面的零,以及SUBSTRING的用法
DECLARE @lastprice_new VARCHAR(50)
DECLARE @part_var VARCHAR(50)
DECLARE @part_var2 VARCHAR(50)
SET @lastprice_new='1525852252252.0'
--判断是否有小数点,大于0表示有小数点,等于0则表示没有小数点
PRINT charindex('.',@lastprice_new)
--输入为 14
BEGIN
SELECT @part_var2=Substring(@lastprice_new,0,CHARINDEX('.',@lastprice_new))
Select @part_var=Substring(@lastprice_new,CHARINDEX('.',@lastprice_new),Len(@lastprice_new))
END
PRINT @part_var2
PRINT @part_var
--输入为分别为 1525852252252,.0
SELECT SUBSTRING('abcdef',-1,4)
--输出为 ab
Select Substring('44444.266',CHARINDEX('.','44444.2222'),Len('44444.2222'));
Select Substring('44444.266',0,CHARINDEX('.','44444.2222'));
--输出分别为 .226 ,44444
--用decimal(15,2)类型取值,如果不想四舍五入用round处理下
select cast(0.3355555555555 as decimal(38,2)) =0.34
select ROUND('0.3335555555555',2)=0.33