select id,case when a='按面积计算' then CAST(b AS NVARCHAR(20))+'个' else CAST(c AS NVARCHAR(20))+'平方米' end from department
select id,(case when a='按面积计算' then convert(varchar(10),b) + '个' else convert(varchar(10),c)+'平方米' end )as d from 表
select id,case when a='按面积计算' then b else c end+'个' d from department或:select id,case when a='按面积计算' then b else c end+'平方米' d from department
select id,case when a='按面积计算' then b+'平方米' else c+'米' end as d from department
各位,不行啊!!!! select id,case when a='按面积计算' then b else c end d from department 没有问题!!!select id,(case when a='按面积计算' then convert(varchar(10),b) + '个' else convert(varchar(10),c)+'平方米' end )as d from 表有问题!!!提示ERROR CONVERTING DATA TYPE VARCHAR TO NUMERIC!!!!!a的数据类型是float,b的数据类型是numeric
a的数据类型是float? 为什么它的值是: 按面积计算 标准摊位
create table department (id int,a nvarchar(100),b int,c int) insert into department values(1 , '按面积计算' , 7 , 0 ) insert into department values(2 , '标准摊位' , 0 , 7 )select id , case a when '按面积计算' then convert(nvarchar(1000), b)+'个' else convert(nvarchar(1000), c)+'平方米' end as d from department
sorry!!! b的数据类型是float,c的数据类型是numeric
问题解决了: SELECT gjh_code, CASE WHEN a = '按面积计算' THEN str(b) + '平方米' ELSE str(c) + '个' END FROM department
else CAST(c AS NVARCHAR(20))+'平方米' end
from department
else convert(varchar(10),c)+'平方米' end )as d
from 表
select id,case when a='按面积计算' then b else c end d from department
没有问题!!!select id,(case when a='按面积计算' then convert(varchar(10),b) + '个'
else convert(varchar(10),c)+'平方米' end )as d
from 表有问题!!!提示ERROR CONVERTING DATA TYPE VARCHAR TO NUMERIC!!!!!a的数据类型是float,b的数据类型是numeric
按面积计算
标准摊位
insert into department values(1 , '按面积计算' , 7 , 0 )
insert into department values(2 , '标准摊位' , 0 , 7 )select id ,
case a when '按面积计算' then convert(nvarchar(1000), b)+'个' else convert(nvarchar(1000), c)+'平方米' end as d
from department
b的数据类型是float,c的数据类型是numeric
SELECT gjh_code, CASE WHEN a = '按面积计算' THEN str(b)
+ '平方米' ELSE str(c) + '个' END
FROM department