记录今天学习SQL遇到的一个小问题
生活随笔
收集整理的這篇文章主要介紹了
记录今天学习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根本沒有這個函數
做個記錄,備查
盡管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
總結
以上是生活随笔為你收集整理的记录今天学习SQL遇到的一个小问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 终于有了属于自己的家,哈哈,很高兴~~
- 下一篇: 组件设计实战--组件之间的关系 (Eve