应该这样写:
select 姓名,工龄,
(case when (工龄>= '35') then '90%'
when (工龄>='30' and 工龄<'35') then '85%'
when (工龄>='20' and 工龄<'30') then '80%'
when (工龄>='10' and 工龄<'20') then '70%'
else 0 end) as '计算比例'
from 表
90% ,85%。。。 这些两边都加上引号
else 后面不能再跟 then
回答补充:
90%,85% 这些本来就是字符啊,数据库不会认为90%是数字的,只会认为它是字符,是字符就必须加上引号。
除非你写成0.9, 0.85。。。
这样数据库就会认为是数字,就不用加引号了。
suggestion:
convert (int,(case when (工龄>= '35') then '90%'
when (工龄>='30' and 工龄<'35') then '85%'
when (工龄>='20' and 工龄<'30') then '80%'
when (工龄>='10' and 工龄<'20') then '70% '
else '0' end))as 计算比例
Syntax for CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
you will try do it!
Thanks,
kevin