true与false的排序问题

hnaulxd 2007-07-09 09:14:24
在其它语言中以及原来老师讲的,都是true相当于整数1,false相当于整数0,在C#等语言中用Convert.ToInt32(true)得到的结果也是1,用Convert.ToInt32(false)得到的结果也是0

现在我在数据表中有一列“性别”,其数据类型为逻辑型,其值要么为真,要么为假。用select的子句“order by 性别 desc”,结果是逻辑真的排在后面,也就是降序时“真”的在后,也就是说“假的”比“真的”还大些!!

请大家指点,这是为什么?谢谢!!
...全文
1082 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hnaulxd 2007-07-12
  • 打赏
  • 举报
回复
Access中是有布尔型字段的的,SQL Server中没有。我的例子是在Access中测试的。

不说数据库,就说.net 中的DataTable,对布尔型排序之后也是true比false小。

请大家分析分析!!
chinachenfeng 2007-07-10
  • 打赏
  • 举报
回复
数据库里有布尔这个字段类型吗?
lt1129 2007-07-09
  • 打赏
  • 举报
回复
你用order by desc,当然false在前,true在后了
hnaulxd 2007-07-09
  • 打赏
  • 举报
回复
order by desc就是表示降序排列是不是,降序就是表示从大小到小的排列,true在后了就说明true比false小,我就是不明白true为什么比false小啊

请指点

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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