- 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 ệ ướ ẽ ả ề ế ả ư

ở ứ ệ ớ ặ ơ ẽ ự ệ ớ ớ 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.