- 1 -
SQL Server 2000 : Các toán tử
Transaction-SQL cung c p cho b n m t s các toán t
trên
ộ ố
ấ
ạ
nhi u ki u d li u khác nhau nh toán t
s h c, toán t
ể ữ ệ
ư
ề
ử ố ọ
chu i, toán t
so sánh … ý nghĩa c a các toán t
ử ử ố n i này hoàn toàn
ỗ
ử
ủ
ử
gi ng nh ý nghĩa c a các toán t
trong các ngôn ng l p trình
ư
ủ
ố
ử
ữ ậ
khác. Vi c s d ng các toán t
c k t h p vào bên trong
ệ ử ụ
đ ử ượ
ế ợ
ấ các m nh đ WHERE, HAVING trong các câu l nh truy v n
ề
ệ
ệ
ho c bên trong các c u trúc đi u khi n IF, WHILE.
ể
ề
ặ
ấ
1/- Toán t
s h c :
ử ố ọ
ừ ư ộ ữ ệ ứ ể ố ị ử ụ ể ứ ự ư này. Th t ế ộ ườ ừ ng minh th ộ ư ướ ệ ị ỉ ặ ơ ử ố ọ ằ ấ s h c đ c phép s d ng trong vi c tính toán các phép tính : c ng, tr , nhân, Toán t ử ố ọ ượ ệ chia và chia l y ph n d . Các bi u th c, giá tr tính toán ph i có ki u d li u là s khi ả ầ ấ s h c là : nhân, chia và chia u tiên c a các toán t th c hi n các toán t ệ ử ố ọ ủ ử ự ứ c sau đó đ n c ng và tr . Tuy nhiên b n nên ch đ nh t l y ph n d tr ạ ầ ấ t ể s h c b ng cách đ a vào các d u ngo c đ n trong m t bi u th c hi n các toán t ự ự ư th c tính toán. ứ
Ví d :ụ
i s tr v k t qu nh nhau : Hai câu l nh bên d ệ ướ ẽ ả ề ế ả ư
Và
ở ứ ệ ớ ặ ơ ẽ ự ệ ớ ớ Tuy nhiên v i câu l nh th hai, b n th y rõ ràng h n b i vì phép nhân bên trong cùng ơ ấ ạ c a d u ngo c đ n s th c hi n tr i phép chia và cu i cùng m i là phép c sau đó là t ố ướ ủ ấ c ng.ộ
s h c đ ử ố ọ ượ ữ ệ ố ử ụ ư ể
ỉ ượ ử ụ ố ớ ư ể ấ c phép s d ng cho các ki u d li u s nh : int, bigint, smallint, Toán t tinyint, numeric, decimal, float, real, money và smallmoney. Tuy nhiên đ i v i phép tính chia l y ph n d ch đ c s d ng cho các ki u d li u s nguyên nh : int, bigint, ữ ệ ố ư ầ smallint và tinyint.
- 2 -
Ví d :ụ
ể ệ ầ ư ủ ạ ử ụ ệ ấ ư Th hi n phép chia l y ph n d c a hai s nguyên 15 và 6. B n s d ng câu l nh nh ố sau :
K t qu tr v là 3. ả ả ề ế
2/- Toán t
n i chu i :
ử ố
ỗ
n i chu i đ ử ố ệ ứ ụ ỗ c chuy n đ i thành ki u d li u chu i tr ử ụ ị ữ ệ ỗ ờ ạ ữ ệ ệ ỗ ượ ể ổ ể ự ử i v i nhau là d u c ng (+). c phép s d ng trong vi c k t n i các chu i r i r c thành m t Toán t ộ ế ố ặ chu i liên t c. Các bi u th c, giá tr khi n i chu i ph i có ki u d li u là chu i ho c ỗ ả ỗ ố ph i đ này. Ký c khi th c hi n toán t ỗ ướ ả ượ hi u c a toán t ấ ộ ệ ủ ể n i các chu i l ử ố ể ỗ ạ ớ
Ví d :ụ
i thành chu i "Hello The World !", b n s ỗ ạ ạ ử ỗ Đ n i hai chu i "Hello" và "The World !" l ể ố d ng câu l nh sau : ụ ệ
Ví d :ụ
ế ệ t ngày đ t hàng c a đ n đ t hàng s D007 là bao nhiêu, b n s d ng câu l nh ạ ử ụ ủ ơ ặ ặ ố Cho bi sau :
- 3 -
ụ ể ộ ổ ắ ki u d li u ngày sang ki u d li u chu i tr ừ ể ị ữ ệ ủ ộ ỗ ướ ữ ệ ả ữ ệ ặ ự ể ệ Trong ví d trên b t bu c ph i chuy n đ i giá tr d li u c a c t ngày đ t hàng trong b ng DONDH t c khi th c hi n toán ả n i chu i. t ử ố ỗ
3/- Toán t
so sánh :
ử
so sánh đ ượ ệ ượ ỏ ơ ệ Toán t ử l n h n, nh h n, … cho các bi u th c c n đ ơ ớ sánh s là đúng ho c sai tùy thu c vào bi u th c đi u ki n mà b n đ a ra đ so sánh. ứ ẽ c phép s d ng đ th c hi n các phép so sánh nh : b ng, khác, c so sánh. Giá tr tr v c a vi c so ề ư ằ ị ả ề ủ ể ể ự ứ ầ ể ử ụ ể ộ ạ ư ệ ặ
ử ể ượ ử ụ ề ể ể c s d ng trên nhi u ki u d li u khác nhau nh : ki u ữ ệ c l ng vào ng các bi u th c so sánh s đ ứ ư ẽ ượ ồ ườ ể ể ặ so sánh có th đ Các toán t s , ki u chu i ho c ki u ngày. Thông th ỗ ố các m nh đ WHERE ho c HAVING c a các câu l nh truy v n. ủ ề ể ệ ệ ấ ặ
Ví d :ụ
hi n đang có trong b ng VATTU ể ọ ử ằ ậ ư ệ ả so sánh b ng đ l c ra các v t t S d ng toán t ử ụ v i đ n v tính là "B ", b n s d ng câu l nh sau : ớ ơ ạ ử ụ ệ ộ ị
so sánh b ng đ ằ ượ ế c th c hi n trên ki u d li u chu i và k t ữ ệ ự ể ệ ỗ ử Trong ví d trên, toán t ụ h p trong m nh đ WHERE. ệ ợ ề
Ví d :ụ
ử ụ ể ọ ử ấ ớ ớ ơ ổ ị so sánh l n h n đ l c ra các phi u xu t hàng có t ng tr giá l n h n S d ng toán t ơ ế 3,000,000 vnđ. B n s d ng câu l nh sau : ạ ử ụ ệ
- 4 -
ử so sánh l n h n đ ớ ơ ượ ế c th c hi n trên ki u d li u s và k t ể ữ ệ ố ự ệ Trong ví d trên, toán t ụ h p trong m nh đ HAVING. ệ ợ ề
4/- Toán t
lu n lý :
ử ậ
ể ự ứ ệ ể ệ ế ợ ử ậ ề ấ ứ ọ lu n lý đ ử ụ ử ậ thành m t bi u th c so sánh chung. Có ba toán t ộ ử ậ ử ụ ạ c phép s d ng đ th c hi n vi c k t h p nhi u bi u th c so sánh ượ ườ ng lu n lý r t quan tr ng th ể ấ lu n lý b n nên thêm vào các d u i đ c d hi u b i vì nó làm cho câu l nh rõ ràng t đ giúp cho ng ườ ọ ễ ể ế ể ệ ở Toán t đ n l ơ ẻ dùng : AND, OR và NOT. Khi s d ng toán t ngo c đ n c n thi ặ ơ ầ h n.ơ
Ví d :ụ
Hi n th danh sách các v t t ậ ư ể ị trong b ng VATTU th a đi u ki n nh sau : ỏ ư ề ệ ả
- Đ n v tính là "B " và ph n trăm l n h n 10. ầ ơ ộ ớ ơ ị
- Ho c đ n v tính là "Cái" và ph n trăm l n h n 20. ặ ơ ầ ớ ơ ị
B n s d ng câu l nh nh sau : ạ ử ụ ư ệ
AND và OR đ ụ ả ử ượ ử ụ ứ c s d ng k t h p trong các bi u th c ế ợ ể Trong ví d trên, c hai toán t so sánh.