小新的技术天地

Make It Works !

博客园 首页 新随笔 联系 订阅 管理
书上是这么说的:
尽管SQL 对大小写是不敏感的但是数据库中的数据对大小写却是敏感的大多数公
司在存储数据时采用大写以保证数据的一致性所以你应该永远采用大写或小写来存储数
据大小写的混合使用会对你精确地查找数据造成障碍
比如对于这样一个表

LASTNAME FIRSTNAME AREACODE    PHONE      ST    ZIP(邮政编码)
BUNDY        AL                        100             555-1111    IL       22333
MEZA          AL                          200            555-2222  UK
MERRICK   BUD                      300             555-6666  CO    80212
MAST          JD                         381             555-6767    LA    23456
BULHER     FERRIS                345                555-3223  IL       23332

这个查询SELECT * FROM FRIENDS WHERE FIRSTNAME = 'BUD'
结果返回一条记录
也就是MERRICK   BUD                      300             555-6666  CO    80212
但是
SELECT * FROM FRIENDS WHERE FIRSTNAME = 'Bud'
应该是返回0条记录

但是我在SQL Server2000上试验,结果却是对数据库中的数据大小写也不敏感。
SELECT * FROM FRIENDS WHERE FIRSTNAME = 'BUD'
SELECT * FROM FRIENDS WHERE FIRSTNAME = 'Bud'
都是返回一条记录

有人能说明一下这是怎么回事吗?

书里提到了另外两个关键字INTERSECT和MINUS,
第一个在书里的用法是
SELECT * FROM FOOTBALL
 INTERSECT
 SELECT * FROM SOFTBALL
SQL Server2000不支持,我查了一下SQL Server2000有个函数叫INTERSECT
用法是Intersect(«Set1», «Set2»[, ALL])
但是不支持类似上面的用法
INTERSECT(SELECT * FROM FOOTBALL,SELECT * FROM SOFTBALL)
至于MINUS,SQL Server2000根本没有这个函数

做个记录,备查

posted on 2005-12-10 22:48  小新0574  阅读(1282)  评论(6编辑  收藏  举报