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ử nối chuỗi, toán tử so sánh … ý nghĩa của cá
Trang 1SQL 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ử nối chuỗi, toán tử so sánh … ý nghĩa của các toán tử 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 :
Toán tử 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, 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 thực hiện các toán tử này Thứ tự ưu tiên của các toán tử số học là : nhân, chia và chia lấy phần dư trước sau đó đến cộng và trừ Tuy nhiên bạn nên chỉ định tường minh thứ tự thực hiện các toán 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 tính toán
Ví dụ :
Hai câu lệnh bên dưới sẽ trả về kết quả như nhau :
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ước sau đó là tới phép chia và cuối cùng mới là phép cộng Toán tử số học được phép sử dụng cho các kiểu dữ liệu số như : int, bigint, smallint, 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
Trang 2Ví 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 :
Toán tử nối chuỗi đượ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 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 được chuyển đổi thành kiểu dữ liệu chuỗi trước khi thực hiện toán tử này Ký hiệu của toán tử nối các chuỗi lại với nhau là dấu cộng (+)
Ví dụ :
Để nối hai chuỗi "Hello" và "The World !" lại thành chuỗi "Hello The World !", bạn sử dụng câu lệnh sau :
Ví dụ :
Cho biế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 sau :
Trang 3Trong 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ừ kiểu dữ liệu ngày sang kiểu dữ liệu chuỗi trước khi thực hiện toán tử nối chuỗi
3/- Toán tử so sánh :
Toán tử 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, lớn hơn, nhỏ hơn, … cho các biểu thức cần được so sánh Giá trị trả về của việc so 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ác toán tử so sánh có thể được sử dụng trên nhiều kiểu dữ liệu khác nhau như : kiểu số, kiểu chuỗi hoặc kiểu ngày Thông thường các biểu thức so sánh sẽ được lồng vào các mệnh đề WHERE hoặc HAVING của các câu lệnh truy vấn
Ví dụ :
Sử dụng toán tử so sánh bằng để lọc ra các vật tư hiện đang có trong bảng VATTU với đơn vị tính là "Bộ", bạn sử dụng câu lệnh sau :
Trong ví dụ trên, toán tử so sánh bằng được thực hiện trên kiểu dữ liệu chuỗi và kết hợp trong mệnh đề WHERE
Ví dụ :
Sử dụng toán tử 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 3,000,000 vnđ Bạn sử dụng câu lệnh sau :
Trang 4Trong ví dụ trên, toán tử so sánh lớn hơn được thực hiện trên kiểu dữ liệu số và kết hợp trong mệnh đề HAVING
4/- Toán tử luận lý :
Toán tử luận lý đượ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 đơn
lẻ thành một biểu thức so sánh chung Có ba toán tử luận lý rất quan trọng thường dùng : AND, OR và NOT Khi sử dụng toán tử luận lý bạn nên thêm vào các dấu ngoặc đơn cần thiết để giúp cho người đọc dễ hiểu bởi vì nó làm cho câu lệnh rõ ràng 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 :
Trong ví dụ trên, cả hai toán tử AND và OR được sử dụng kết hợp trong các biểu thức so sánh