之前,我在做统计数据时,需要一个字段显示某月的订单数量和订单金额,要求组合成一个字段,用括号组合。
统计出来的结果大概是这样的,首先我们来创建一些模拟数据
---创建订单表---
create table OmsOrder(
Uid int identity(1,1) primary key,
OrganizeName varchar(20) not null,
OrderCount int not null,
OrderMoney float not null
)
--添加模拟数据---
insert into OmsOrder(OrganizeName,OrderCount,OrderMoney)
values('同步诊所',100,54231),('慈恩诊所',56,12123),('龙华诊所',87,35212)
统计后结果是这样的,但是我们是需要订单数量(订单金额)这样显示方式
组合语法用Cast()函数进行转换,语法如下
--组合语法---
select (Cast(字段名 as varchar(20)) +'('+ Cast(字段名 as varchar(20))+')') from tableName
1、用括号实现两个字段组合成一个并显示
--1、用()将两个字段组合--
select a.OrganizeName,
(CAST(OrderCount as varchar(20))+'('+CAST(OrderMoney as varchar(20))+'元)') as OrderData
from OmsOrder as a
组合后,返回的数据如下:
2、用 -- 号实现两个字段组合成一个字段
--2、用-- 将两个字段组合--
select a.OrganizeName,
(CAST(OrderCount as varchar(20))+'--'+CAST(OrderMoney as varchar(20))+'元') as OrderData
from OmsOrder as a
组合后,返回的数据如下:
Ps :
1)转换字段的数据类型无论是int、float、varchar等,都直接转换成varchar()类型
2)Cast()函数转换后用“+” 号连接, 用括号把整个当成一个整体,返回成一个字段