在SQL中,保留两位小数可以使用以下几种函数:
- ROUND()函数 :
-
语法:
ROUND(column_name, precision)
-
其中
column_name
是需要保留小数位数的列名或表达式,precision
是要保留的小数位数。 -
示例:
SELECT ROUND(12.3456, 2)
结果为12.35
。
- CONVERT()函数 :
-
语法:
CONVERT(data_type(precision, scale), column_name)
-
其中
data_type
是目标数据类型,precision
是总位数,scale
是小数点后的位数。 -
示例:
SELECT CONVERT(DECIMAL(10,2), 12.3456)
结果为12.35
。
- CAST()函数 :
-
语法:
CAST(column_name AS data_type(precision, scale))
-
其中
column_name
是需要转换的列名或表达式,data_type
是目标数据类型,precision
是总位数,scale
是小数点后的位数。 -
示例:
SELECT CAST(12.3456 AS DECIMAL(10,2))
结果为12.35
。
以上三种方法都可以用来保留两位小数,但ROUND()
函数会进行四舍五入,而CONVERT()
和CAST()
函数会直接截断多余的小数位数。
需要注意的是,如果precision
参数为负数,ROUND()
函数会根据小数点前的数字个数进行舍入,而CONVERT()
和CAST()
函数会直接返回0。