求一条SQL语句!谢谢

wanquanhao 2004-10-10 10:43:33
表数据:表名为:file_std
字段为 i_act 为 int类型
==============
i_act
1
2
3
3
=============
我想得到的效果:如果 i_act为1 我就显示为 优秀
i_act为2 我就显示为 中
i_act为3 我就显示为 低
结果为:

i_act
优秀



*)
...全文
165 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2004-10-11
  • 打赏
  • 举报
回复
--1.
select substring('优秀中 低',i_act*2-1,2)
from file_std

--2.改字段宽度
alter table 表 alter column 列名 varchar(500) --这个500就是列的新宽度
zjpwm2000 2004-10-11
  • 打赏
  • 举报
回复
人气真是旺!!!
sunshareforever 2004-10-10
  • 打赏
  • 举报
回复
select a,b,c=case c when 1 then 'best'
when 2 then better
when 3 then good
end
from table1
wanquanhao 2004-10-10
  • 打赏
  • 举报
回复
感谢各位大侠,我想在问问,如果我一个字段的长度太长我想改变它的显示宽度,咋做呢/》?
lsxaa 2004-10-10
  • 打赏
  • 举报
回复
select replace(replace(replace(cast(i_act as varchar(1)),'1','优秀'),'2','中'))
,'3','低')
from file_std
lsxaa 2004-10-10
  • 打赏
  • 举报
回复
select replace(replace(replace(cast(i_act as varchar(1),'1','优秀'),'2','中'))
,'3','低')
from file_std
zlj113 2004-10-10
  • 打赏
  • 举报
回复
呵呵,
更正如下:

select i_act=case when i_act=1 then '优秀'

when i_act=2 then '中'

when i_act=3 then '低' end

from you_table
DigJim 2004-10-10
  • 打赏
  • 举报
回复
樓上,那是因爲你下手的速度太快!
zlj113 2004-10-10
  • 打赏
  • 举报
回复
倒,发现我的字符串没有单引号的,汗``````````
zlj113 2004-10-10
  • 打赏
  • 举报
回复
去联机帮助里查下case语法,理解会更好些:—)
DigJim 2004-10-10
  • 打赏
  • 举报
回复
select i_act,(case i_act when 1 then '优秀' case 2 then '中' else '低' end ) actResult
from file_std
zheninchangjiang 2004-10-10
  • 打赏
  • 举报
回复
select icat=case i_act
when 1 then '优秀'
when 2 then '中'
when 3 then '低' end
from file_std
zlj113 2004-10-10
  • 打赏
  • 举报
回复
select i_act=case when i_act=1 then 优秀

when i_act=2 then 中

wen i_act=3 then 低 end from you_table
heibai520 2004-10-10
  • 打赏
  • 举报
回复
create table tb1(i_act int)
insert tb1 values(1)
insert tb1 values(2)
insert tb1 values(3)
insert tb1 values(4)


select (case i_act when 1 then '优秀' when 2 then '中' else '低' end ) 等级
from tb1

result----------
等级
----
优秀




(所影响的行数为 4 行)

robin0925 2004-10-10
  • 打赏
  • 举报
回复
case语句!ok!!
beifushengzq 2004-10-10
  • 打赏
  • 举报
回复
测试如下


create table file_std
(i_act varchar(50) )
insert file_std(i_act) values('1')
insert file_std(i_act) values('2')
insert file_std(i_act) values('3')
insert file_std(i_act) values('2')
insert file_std(i_act) values('3')

select * from file_std

select i_act=(case i_act when 1 then '优秀'
when 2 then '中'
when 3 then '低'
end)
from file_std
DigJim 2004-10-10
  • 打赏
  • 举报
回复
alter table tbl_name alter column col_Name int null

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧