Ngôn ngữ T-SQL

Một phần của tài liệu Tài liệu giảng dạy Quản trị cơ sở dữ liệu SQL server (Ngành/Nghề: Công nghệ thông tin – Trình độ Cao đẳng) - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM (2019) (Trang 72 - 76)

Chương 4 : Thủ tục lưu trữ Strore procedure

4.2 Ngôn ngữ T-SQL

4.2.1. Khai báo biến

DECLARE @tenbien <kieu_du_lieu> Ví dụ: DECLARE @a int

4.2.2. Gán giá trị cho biến

SET @ten_bien=giá_trị Ví dụ: Gán biến a=10 SET @a = 10 Select @a 4.2.3. Các hàm thường dùng trong SQL 1. Hàm GETDATE

Hàm GETDATE trả về ngày giờ lúc thực hiện câu truy vấn. Ví dụ:

select getdate()

2. Hàm DATEPART

DATEPART giúp giải quyết các yêu cầu trên một cách dễ dàng. Cấu trúc hàm DATEPART như sau:

DATEPART (yêu_cầu_trích_xuất, giá_trị_trích_xuất)

giá_trị_trích_xuất là một giá trị thuộc kiểu datetime.

yêu_cầu_trích_xuất: ngày, tháng, năm, quý,….

Bảng dưới đây mô tả các yêu chữ viết tắt và các yêu cầu trích xuất tương ứng.

Ý nghĩa Chữ viết tắt

Năm yy, yyyy

Quý qq,q

Tháng mm,m

Số ngày đã qua trong năm dy,y

Ngày dd,d

Tuần wk,ww

Số ngày đã qua trong tuần Dw

Giờ Hh

Phút mi,n

Giây ss,s

Ví dụ:

select datepart(yyyy, orderdate)as YEAROFORDERDATE

3. Hàm CAST và CONVERT

Chuyển đổi một giá trị thuộc kiểu dữ liệu này sang một kiểu dữ liệu khác. Hàm CAST và CONVERTER cung cấp cùng một chức năng. Một điểm thuận lợi khi dùng CONVERT là khi chuyển đổi, hàm này cũng cho phép người dùng sẽ định dạng lại giá tri kết quả theo ý

muốn.

Cấu trúc hàm CAST và CONVERT như sau:

CAST (biu_thc/giá_ tr AS kiu_d liu [độ_dài_kiu_d_liu ])

CONVERT ( kiểu_dữ liệu [độ_dài_kiểu_dữ_liệu ] , biểu_thức/giá_ trị [ ,kiểu_định_dạng] )

Năm 2 chữ số Năm 4 chữ số Output

0 hoặc 100 mon dd yyyy hh:mi AM (PM)

1 101 mm/dd/yy

2 102 yy.mm.dd

3 103 dd/mm/yy

5 105 dd-mm-yy

6 106 dd mon yy

7 107 Mon dd, yy

8 108 hh:mm:ss

9 hoặc 109 mon dd yyyy hh:mi:ss:mmmAM (PM)

10 110 mm-dd-yy

11 111 yy/mm/dd

12 112 yymmdd

13 hoặc 113 dd mon yyyy hh:mm:ss:mmm(24h)

14 114 hh:mi:ss:mmm(24h)

Ví dụ:

select CUSTOMERNAME,

convert (varchar, BIRTHDAY, 103) as BIRTHDAY, ADDRESS from Customers

where Customername = 'Le Thi Hoa'

and year(getdate()) - year(BIRTHDAY) > 20

4.2.4. Cấu trúc điều khiển

4.2.4.1. Cấu trúc rẽ nhánh IF … ELSE

IF biểu_thức_điều_kiện

<lệnh> | <khối lệnh>

ELSE

<lệnh> | <khối lệnh>

Ví dụ: Tìm số lớn hơn trong 2 số a,b Declare @a int, @b int

Set @a=10 Set @b=5 IF @a>@b

Print 'a lon hon b' ELSE

4.2.4.2. Cấu trúc rẽ nhánh CASE

CASE gia_tri_điều_kiện

WHEN <biểu_thức> | <giá_trị> THEN <kết_quả>

[… n]

[ELSE <kết_quả>]

END

Ví dụ: CASE PHAI

WHEN 1 THEN "NU" WHEN 0 THEN "NAM" END 4.2.4.3. Cấu trúc lặp while WHILE điều_kiện_lặp <lệnh> | <khối lệnh> [BREAK] <lệnh> | <khối lệnh> [CONTINUE]

- BREAK: thoát khỏi vòng while

- CONTINUE: tiếp tục vòng lặp, bỏ qua các lệnh sau CONTINUE Ví dụ: In ra 10 số nguyên dương bắt đầu từ 100

Declare @songuyen int Set @songuyen=100 While (@songuyen < 110) Begin

Print "So nguyen: " + Convert(Char(3), @songuyen) Set @songuyen = @songuyen + 1

Một phần của tài liệu Tài liệu giảng dạy Quản trị cơ sở dữ liệu SQL server (Ngành/Nghề: Công nghệ thông tin – Trình độ Cao đẳng) - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM (2019) (Trang 72 - 76)

Tải bản đầy đủ (PDF)

(95 trang)