主题:  如何将查出的性别显示为”男“”女“而不是”1“”0“?

dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#12004/9/9 11:08:38
SQL数据库中一个员工表(employee)中的性别字段(SEX)的类型是BIT型,即存贮的是1或0(1代表男,0代表女)。

现在想查询时,显示出“男”和“女”来表示性别,如何做啊?

语句:Select sex from employee显示的结果是1或0,对用户来说这没法看的。

晕,我这个简单的查询语句我不知道如何写,难道不能在SQL中实现?请高人指点一下啊~(通过VB将读出结果进行转换是可以的,请不要用这方法。我只想用SQL语句,因为结果作为DATAGRID的DATASOURCE,直接绑定并显示出来。)

编辑历史:[此帖最近一次被 dreamexpress 编辑过(编辑时间:2004-09-15 15:00:12)]


沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#22004/9/9 16:15:18
<% if rs("sex") = true then response.write "男" else response.write "女"%>


难人一个……

泡饭

职务:普通成员
等级:2
金币:2.0
发贴:734
#32004/9/9 16:20:32
楼上的判断很简单,GOOD!



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#42004/9/9 16:44:47
储存过程可以用CONVERT来转换结果,如下:
select sex = convert(varchar(2),'男') from employee where sex='1'


难人一个……

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#52004/9/9 21:54:36
SELECT CASE Sex
WHEN 1 THEN '男'
ELSE '女'
END AS UserSex
FROM Table1

可以在SQL SERVER上运行,但不知ACCESS是否支持。如不行,用程序来判断。

编辑历史:[此帖最近一次被 蓝鲸 编辑过(编辑时间:2004-09-09 22:20:51)]

非常大鱼

elite_5d

职务:普通成员
等级:2
金币:1.0
发贴:330
#62004/9/9 23:37:25
楼上的代码效率最高



dreamexpress_5d

职务:普通成员
等级:1
金币:10.0
发贴:2229
#72004/9/15 14:57:56
我曾用以下语句作查询,但不高效:

SELECT 姓名=realname ,性别='男' from employee where sex=1
union
SELECT 姓名=realname ,性别='女' from employee where sex=0

-------------------------

查询结果是用在ASP.net中的DataGrid的数据源(DataSource),直接绑定显示的。所以使用SQL直接查出想要的最方便。

感谢所有给予解答的人,特别感谢蓝鲸的答案。 ;)



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#82004/9/16 17:05:43
好象ACCESS不支持这CASE,我无法通过


非常大鱼