记录今天学习SQL遇到的一个小问题

书上是这么说的:
尽管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根本没有这个函数

做个记录,备查

转载于:https://www.cnblogs.com/wdxinren/archive/2005/12/10/294648.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值