Mysql 计算用户余额

需求

传入用户ID和需要添加(或减去)的金额money,并把结果转换为浮点数类型,重新保存。

编码

	UPDATE tablename 
	SET money = CONVERT ( money + #{money}, DECIMAL ( 18, 2 ) ) 
	WHERE
		id = #{id}

扩展

CONVERT(value, type):把当前数值转换成指定类型的值,但并不会改变值的列的数据类型。

CAST(value AS type):把当前数值转换成指定类型的值,但并不会改变值的列的数据类型。

可以转换的类型是有限制的。这个类型可以是以下值其中的一个:

  • 二进制,同带binary前缀的效果 : BINARY    
  • 字符型,可带参数 : CHAR()     
  • 日期 : DATE     
  • 时间: TIME     
  • 日期时间型 : DATETIME     
  • 浮点数 : DECIMAL      
  • 整数 : SIGNED     
  • 无符号整数 : UNSIGNED 

FORMAT(X,N):可以将数字X进行格式化,将X保留到小数点后N位。

你可能感兴趣的:(SQL)