【sql :实战】sql 用到的一些函数总结
1、CAST
CAST:格式转换函数
用法:CAST (expression AS data_type)
expression:任何有效的SQServer表达式。
AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。
应用:把时间转换成 VARCHAR 类型
CAST(f.order_created_time AS VARCHAR) AS '下单时间',
2、CONCAT
1、功能:将多个字符串连接成一个字符串。
语法:concat(str1, str2,...)
应用:省 市 区 地址 拼接成一个完整的收货地址
CONCAT(f.receiver_province_name,',',f.receiver_city_name,',',f.receiver_district_name,',',f.receiver_address) AS '收货地址',
3、GROUP_CONCAT
1、功能:将group by产生的同一个分组中的值连接起来,返回一个字符串结果。
应用:同一个订单可能存在多种支付方式,寄有余额支付 又有微信支付,因此连接的时候要用GROUP_CONCAT
GROUP_CONCAT( CASE WHEN op.pay_type = 1 THEN '余额支付' WHEN op.pay_type = 2 THEN '微信支付' WHEN op.pay_type = 3 THEN '支付宝支付' WHEN op.pay_type = 4 THEN '银行卡支付' WHEN op.pay_type = 5 THEN '现金支付' WHEN op.pay_type = 6 THEN '优惠全额抵扣' WHEN op.pay_type = 7 THEN '在线支付' END )
4、ROUND
功能:ROUND 函数用于把数值字段舍入为指定的小数位数
应用 :价格之类的要精确到小数点
ROUND( ( f.pay_amount + f.discount_amount ) / f.sku_quantity / 100,