Bài giảng Hệ quản trị cơ sở dữ liệu SQl Server - Bài 2: Các kiểu dữ liệu và hàm trong SQL Server - Lê Thị Tú Kiên

1
Lê Thị Tú Kiên - HQT SQL Server  
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU  
SQL SERVER  
TS Lê Thị Tú Kiên  
Murach's SQL  
Server 2012, C8  
Bài 2  
Các kiểu dữ liệu và hàm  
trong SQL Server  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 2  
Nội dung  
Các kiểu dữ liệu  
Một số hàm chuyển đổi kiểu dữ liệu  
Cách sử dụng các hàm  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 3  
SQL Server data type categories  
(Các kiểu dữ liệu trong SQL Server được chia ra làm 4 nhóm chính)  
String (Xâu kí tự)  
Numeric (Số)  
Temporal (date/time)  
Other (Một số kiểu khác)  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 4  
ANSI-standard data types  
and SQL Server equivalents  
(Bảng tương ứng giữa các kiểu dữ liệu trong SQL Server với các  
kiểu dữ liệu của chuẩn ANSI)  
Synonym for ANSI-standard  
data type  
SQL Server data type used  
binary varying  
varbinary  
char varying  
varchar  
character varying  
character  
dec  
double precision  
float  
char  
decimal  
float  
real or float  
int  
integer  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 5  
ANSI-standard data types  
and SQL Server equivalents (continued)  
Synonym for ANSI-standard  
data type  
SQL Server data type used  
national char  
nchar  
national character  
national char varying  
nvarchar  
national character varying  
national text  
rowversion  
ntext  
timestamp  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 6  
The integer data types (Các kiểu DL số nguyên)  
Type  
bigint  
int  
smallint  
tinyint  
bit  
Bytes  
8
4
2
1
1
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 7  
The decimal data types (Kiểu dữ liệu số thập phân)  
Type  
Bytes  
5-17  
5-17  
8
decimal[(p[,s])]  
numeric[(p[,s])]  
money  
smallmoney  
4
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 8  
The real data types (Kiểu số thực)  
Type  
float[(n)]  
real  
Bytes  
4 or 8  
4
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 9  
String data types for storing standard characters  
(Kiểu xâu kí tự lưu trữ kí tự chuẩn)  
Type  
Bytes  
char[(n)]  
varchar[(n)]  
n
String data types for storing Unicode characters  
(Kiểu xâu kí tự lưu trữ kí tự Unicode)  
Type  
Bytes  
nchar(n)  
nvarchar(n)  
2×n  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 10  
Date/time data types prior to SQL Server 2008  
(Kiểu dữ liệu ngày tháng trong các phiên bản SQL Server trước  
năm 2008)  
Type  
Bytes  
datetime  
smalldatetime  
8
4
Date/time data types for SQL Server 2008 and later  
(Kiểu dữ liệu ngày tháng trong các phiên bản SQL Server từ năm  
2008 trở lại đây)  
Type  
date  
Bytes  
3
time(n)  
3-5  
datetime2(n)  
datetimeoffset(n)  
6-8  
8-10  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 11  
Common date formats  
Format  
Example  
yyyy-mm-dd  
mm/dd/yyyy  
mm-dd-yy  
2012-04-30  
4/30/2012  
4-30-12  
Month dd, yyyy  
Mon dd, yy  
dd Mon yy  
April 30, 2012  
Apr 30, 12  
30 Apr 12  
Common time formats  
Format  
hh:mi  
Example  
16:20  
hh:mi am/pm  
hh:mi:ss  
4:20 pm  
4:20:36  
hh:mi:ss:mmm  
hh:mi:ss.nnnnnnn  
4:20:36:12  
4:20:36.1234567  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 12  
Một số chú ý khi sử dụng kiểu dữ liệu ngày tháng  
Giá trị một ngày tháng đặt trong cặp ngoặc đơn.  
Nếu NSD (người sử dụng) không xác định thời gian trong một giá  
trị kiểu ngày tháng thì thời gian mặc định được lấy là 12:00 a.m.  
Nếu NSD (người sử dụng) không xác định ngày trong một giá trị  
kiểu ngày tháng thì ngày mặc định được lấy là 1/1/1900.  
Mặc định, với giá trị kiểu năm được lưu dưới dạng hai chữ số thì  
các năm từ 00 đến 99 được hiểu là các năm từ 2000 đến 2049, còn  
các năm từ 50 đến 99 được hệ thống hiểu là các năm từ 1950 đến  
1999.  
NSD có thể thiết lập thời gian đồng hồ 12 giờ hoặc 24 giờ, mặc  
định là 12 giờ.  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 13  
The large value data types  
for SQL Server 2005 and later  
varchar(max)  
nvarchar(max)  
varbinary(max)  
How the large value data types map  
to the old large object types  
SQL Server 2005 and later Prior to 2005  
varchar(max)  
nvarchar(max)  
varbinary(max)  
text  
ntext  
image  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 14  
Order of precedence for common data types  
Precedence  
Highest  
Category  
Date/time  
Data type  
datetime  
smalldatetime  
float  
Các kiểu dữ liệu có  
thể được tự động  
chuyển đổi (chuyển  
đổi không tường  
Numeric  
real  
decimal  
money  
smallmoney  
int  
smallint  
tinyint  
bit  
nvarchar  
nchar  
minh).  
Thông thường các  
kiểu dữ liệu có mức  
ưu tiên thấp hơn sẽ  
tự động được chuyển  
sang kiểu dữ liệu có  
mức ưu tiên cao hơn.  
String  
varchar  
char  
Lowest  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 15  
Expressions that use implicit conversion  
(Ví dụ chuyển đổi kiểu tự động)  
InvoiceTotal * .0775  
-- InvoiceTotal (money) converted to decimal  
PaymentTotal – 100  
-- Numeric literal converted to money  
PaymentDate = '2012-04-05'  
-- Date literal converted to smalldatetime value  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 16  
Conversions that can’t be done implicitly  
(Các trường hợp không tự động chuyển đổi)  
From data type  
To data type  
(Từ kiểu DL)  
(Đến kiểu DL)  
char, varchar, nchar, nvarchar money, smallmoney  
datetime, smalldatetime  
decimal, numeric, float, real, bigint,  
int, smallint, tinyint, money,  
smallmoney, bit  
money, smallmoney  
char, varchar, nchar, nvarchar  
Để chuyển đổi được các trường hợp trên, ta cần dùng các hàm  
chuyển đổi kiểu dữ liệu một cách tường minh (ép kiểu).  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 17  
The syntax of the CAST function  
(Hàm chuyển đổi kiểu dữ liệu CAST)  
CAST(expression AS data_type)  
A SELECT statement that uses the CAST function  
(Ví dụ sử dụng hàm CAST để chuyển đổi kiểu dữ liệu)  
SELECT InvoiceDate, InvoiceTotal,  
CAST(InvoiceDate AS varchar) AS varcharDate,  
CAST(InvoiceTotal AS int) AS integerTotal,  
CAST(InvoiceTotal AS varchar) AS varcharTotal  
FROM Invoices;  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 18  
How to convert data when performing  
integer division  
(Cách chuyển kiểu dữ liệu khi thực hiện phép chia kiểu số  
nguyên)  
Operation  
50/100  
Result  
0
50/CAST(100 AS decimal(3))  
.500000  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 19  
The syntax of the CONVERT function  
(Hàm chuyển kiểu dữ liệu CONVERT)  
CONVERT(data_type, expression [, style])  
Convert and format dates  
(Ví dụ sử dụng hàm convert và định dạng ngày tháng)  
SELECT CONVERT(varchar, InvoiceDate) AS varcharDate,  
CONVERT(varchar, InvoiceDate, 1) AS varcharDate_1,  
CONVERT(varchar, InvoiceDate, 107) AS varcharDate_107,  
CONVERT(varchar, InvoiceTotal) AS varcharTotal,  
CONVERT(varchar, InvoiceTotal, 1) AS varcharTotal_1  
FROM Invoices;  
Murach's SQL Server 2012, C8  
Lê Thị Tú Kiên - HQT SQL Server  
Slide 20  
Tải về để xem bản đầy đủ
pdf 78 trang yennguyen 19580 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ quản trị cơ sở dữ liệu SQl Server - Bài 2: Các kiểu dữ liệu và hàm trong SQL Server - Lê Thị Tú Kiên", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_he_quan_tri_co_so_du_lieu_sql_server_bai_2_cac_kie.pdf