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 đủ
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:
bai_giang_he_quan_tri_co_so_du_lieu_sql_server_bai_2_cac_kie.pdf

