63
Chương 4: Ngôn ngSQL 1

Ngon Ngu SQL

Embed Size (px)

DESCRIPTION

Ngon Ngu SQL

Citation preview

  • Chng 4: Ngn ng SQL

    1

  • Ni dung

    1. Gii thiu2. Cc ngn ng giao tip

    2

    3. Ngn ng nh ngha d liu (DDL)4. Ngn ng thao tc d liu (DML)5. Ngn ng truy vn d liu c cu trc (SQL)6. Ngn ng iu khin d liu (DCL)

  • L ngn ng chun truy vn v thao tc trnCSDL quan h

    L ngn ng phi th tc

    1. Gii thiu

    3

    L ngn ng phi th tc Khi ngun ca SQL l SEQUEL - Structured

    English Query Language, nm 1974) Cc chun SQL

    SQL89 SQL92 (SQL2) SQL99 (SQL3)

  • 2. Cc ngn ng giao tip

    Ngn ng nh ngha d liu (Data DefinitionLanguage - DDL): cho php khai bo cu trc bng,cc mi quan h v cc rng buc.

    4

    Ngn ng thao tc d liu (Data ManipulationLanguage - DML): cho php thm, xa, sa d liu.

    Ngn ng truy vn d liu (Structured QueryLanguage SQL): cho php truy vn d liu.

    Ngn ng iu khin d liu (Data ControlLanguage DCL): khai bo bo mt thng tin, cp quyn v thu hi quyn khai thc trn c s d liu.

  • 3.1 Lnh to bng (CREATE)3.1.1 C php3.1.2 Mt s kiu d liu3.1.3 Cc rng buc

    3. Ngn ng nh ngha d liu

    5

    3.1.3 Cc rng buc3.2 Lnh sa cu trc bng (ALTER)

    3.2.1 Thm thuc tnh3.2.2 Sa kiu d liu ca thuc tnh3.2.3 Xo thuc tnh3.2.4 Thm rng buc ton vn3.2.5 Xo rng buc ton vn

    3.3 Lnh xa bng (DROP)

  • 3.1.1 C phpCREATE TABLE (

    3.1 Lnh to bng

    6

    [not null], [not null],

    [not null],khai bo kha chnh, kha ngoi, rng buc)

  • To bng vi mt rng buc duy nhtC php:

    CREATE TABLE

    3.1 Lnh to bng (2)

    7

    ( [not null], [not null], [default gi_tr] [not null],[ CONSTRAINT PK_Tnbng_tnct PRIMARY

    KEY(Danh_sch_ct_kha_chnh) ][CONSTRAINT UQ_Tnbng_tnct

    UNIQUE(Danh_sch_cc_ct)])

  • V d:Create Table NhanVien( Manv int,

    Hoten varchar (100) not null,

    3.1 Lnh to bng (3)

    8

    Hoten varchar (100) not null,Gioitinh varchar (5) default Nam,Cmnd varchar (10) not null,Mapb varchar (5),CONSTRAINT PK_Nhanvien_manv PRIMARYKEY(Manv) ,CONSTRAINT UQ_Nhanvien_cmndUNIQUE(Cmnd)

    )

  • Lnh to bng vi rng buc kha ngoiC php:

    CREATE TABLE

    3.1 Lnh to bng (4)

    9

    ( [not null], [not null], [default gi_tr] [not null],[ CONSTRAINT FK_Tnbng_tnct FOREIGN

    KEY(Danh_sch_kha_ngoi) REFERENCES Tn_bng_tham_chiu(Danh_sch_ct_tham_chiu)]

    )

  • To bng vi rng buc kha ngoi, min gi trC php:

    CREATE TABLE

    3.1 Lnh to bng (5)

    10

    ( [not null], [not null], [default gi_tr][not null],[ CONSTRAINT FK_Tnbng_Tnct FOREIGN

    KEY(Tnct_kha_ngoi) REFERENCES Tn_bng_tham_chiu (Tn_ct_tham_chiu)]

    [ CONSTRAINT CK_Tnbng_tnct CHECK(Biu_thc_lun_l)]

    )

  • Kiu d liu SQL Server

    3.1 Lnh to bng (6)

    3.1.2 Mt s kiu d liu

    11

    Chui k t varchar(n), char(n),nvarchar(n), nchar(n)S tinyint, smallint, int,

    numeric(m,n), decimal(m,n),float, real, smallmoney, money

    Ngy thng smalldatetime, datetime

    Lun l bit

  • Mt s kiu d liu (tt)Kiu d liu Kch

    thcMin gi tr d liu lu tr

    Cc kiu d liu dng s nguyn

    Int 4 bytes t-2,147,483,648n +2,147,483,647

    SmallInt 2 bytes t -32768 n +32767

    12

    SmallInt 2 bytes t -32768 n +32767

    TinyInt 1 byte t 0 n 255

    Bit 1 byte 0, 1 hoc Null

    Cc kiu d liu dng s thp phn

    Decimal,Numeric

    17bytes t -10^38 n +10^38

    Cc kiu d liu dng s thc

    Float 8 bytes t -1.79E+308 n +1.79E+308

    Real 4 bytes t -3.40E+38 n +3.40E+38

  • Cc kiu d liu dng chui c di c nh

    Char N bytes t 1 n 8000 k t, mi k t l mt

    Mt s kiu d liu (tt)

    13

    Char N bytes t 1 n 8000 k t, mi k t l mtbyte

    Cc kiu d liu dng chui c di bin i

    VarChar N bytes t 1 n 8000 k t, mi k t l 1byte

    Text N bytes t 1 n 2,147,483,647 k t, mi kt l 1 byte

  • Cc kiu d liu dng tin t

    Money 8 bytes t -922,337,203,685,477.5808 n+922,337,203,685,477.5807

    SmallMoney 4 bytes t -214,748.3648 n +214,748.3647

    Mt s kiu d liu (tt)

    14

    214,748.3647

    Cc kiu d liu dng ngy v gi

    DateTime 8 bytes t01/01/1753n31/12/9999

    SmallDateTime 4 bytes t01/01/1900n06/06/2079

    Cc kiu d liu dng chui nh phn (Binary String)

    Binary N bytes t 1 n 8000 bytes

    VarBinary N bytes t 1 n 8000 bytes

    Image N bytes t 1 n 2,147,483,647bytes

  • 3.1 Lnh to bng (7)

    3.1.3 Cc rng buc CHECK: quy nh cc gi tr d liu c php chp nhn

    trn cc ct ca bng;

    15

    trn cc ct ca bng; DEFAULT: Quy nh gi tr mc nh cho cc ct;

    Ex: SoLuong int DAFAULT (0) PRIMARY KEY, UNIQUE, FOREIGN: To tnh ton vn

    trong 1 bng d liu v ton vn tham chiu gia cc bngtrong CSDL.

  • 3.1 Lnh to bng (8)

    Lc CSDL qun l bn hng gm c cc quan h sau:

    KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH,

    16

    KHACHHANG (MAKH, HOTEN, DCHI, SODT, NGSINH, DOANHSO, NGDK, CMND)

    NHANVIEN (MANV,HOTEN, NGVL, SODT, DIACHI)SANPHAM (MASP,TENSP, DVT, NUOCSX, GIA)HOADON (SOHD, NGHD, MAKH, MANV, TRIGIA)CTHD (SOHD,MASP,SL)

  • 3.1 Lnh to bng (9)Create table KHACHHANG(

    MAKH char(4) primary key,

    17

    HOTEN varchar(40),DCHI varchar(50),SODT varchar(20),NGSINH smalldatetime,DOANHSO money,NGDK smalldatetime,CMND varchar(10)

    )

  • 3.1 Lnh to bng (10)

    Create table CTHD(

    SOHD int foreign key

    18

    SOHD int foreign keyreferences HOADON(SOHD),

    MASP char(4) foreign keyreferences SANPHAM(MASP),

    SL int,constraint PK_CTHD primary key (SOHD,MASP)

    )

  • 3.1 Lnh to bng (11)Create table NHANVIEN(

    MANV char (4) primary key,

    19

    MANV char (4) primary key,HOTEN char (20),NGVL smalldatetime(),SODT char (8) null

    constraint CHK_SoDT check SoDT like [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]

    DIACHI char (50) DEFAULT Khng bit)

  • 3.2.1 Thm thuc tnhALTER TABLE tnbng ADD tnct kiudliu V d: thm ct Ghi_chu vo bng khch hng

    ALTER TABLE KHACHHANG ADD GHI_CHU varchar(20)

    3.2 Sa cu trc bng(1)

    20

    ALTER TABLE KHACHHANG ADD GHI_CHU varchar(20)3.2.2 Sa kiu d liu thuc tnh

    ALTER TABLE tnbng ALTER COLUMN tnct kiudliu_mi

    Lu :Khng phi sa bt k kiu d liu no cng c

  • V d: Sa Ct Ghi_chu thnh kiu d liu varchar(50)ALTER TABLE KHACHHANG ALTER COLUMN GHI_CHU varchar(50) Nu sa kiu d liu ca ct Ghi_chu thnh varchar(50),

    m trc nhp gi tr cho ct Ghi_chu c di hn

    3.2 Sa cu trc bng(2)

    21

    m trc nhp gi tr cho ct Ghi_chu c di hn50 k t th khng c php.

    Hoc sa t kiu chui k t sang kiu s, 3.2.3 Xa thuc tnh

    ALTER TABLE tn_bng DROP COLUMN tn_ct V d: xa ct Ghi_chu trong bng KHACHHANG

    ALTER TABLE NHANVIEN DROP COLUMN Ghi_chu

  • 3.2.4 Thm rng buc ton vnUNIQUE tn_ct

    PRIMARY KEY (tn_ct)

    3.2 Sa cu trc bng(3)

    22

    ALTER TABLE ADD CONSTRAINT

    PRIMARY KEY (tn_ct)FOREIGN KEY (tn_ct)REFERENCES tn_bng (ct_l_kha_chnh)CHECK (tn_ct iu_kin)

  • V d: ALTER TABLE NHANVIEN ADD CONSTRAINT

    PK_NV PRIMARY KEY (MANV)

    3.2 Sa cu trc bng(4)

    23

    ALTER TABLE CTHD ADD CONSTRAINT FK_CT_SP FOREIGN KEY (MASP) REFERENCES SANPHAM(MASP)

    ALTER TABLE SANPHAM ADD CONSTRAINTCK_GIA CHECK (GIA >=500)

    ALTER TABLE KHACHHANG ADD CONSTRAINTUQ_KH UNIQUE (CMND)

  • 3.2.5 Xa rng buc ton vnALTER TABLE tn_bng DROP CONSTRAINT

    tn_rng_buc

    3.2 Sa cu trc bng(5)

    24

    tn_rng_buc V d:

    Alter table CTHD drop constraint FK_CT_SP Alter table SANPHAM drop constraint ck_gia

    Lu : i vi rng buc kha chnh, mun xarng buc ny phi xa ht cc rng buc khangoi tham chiu ti n

  • C phpDROP TABLE tn_bng

    V d: xa bng KHACHHANG.

    3.3 Lnh xa bng

    25

    V d: xa bng KHACHHANG.DROP TABLE KHACHHANG

    Lu : khi mun xa mt bng phi xa tt c nhng kha ngoi tham chiu ti bng trc.

  • Gm cc lnh: 4.1 Lnh thm d liu (INSERT)4.2 Lnh sa d liu (UPDATE)

    4. Ngn ng thao tc d liu

    26

    4.2 Lnh sa d liu (UPDATE)4.3 Lnh xa d liu (DELETE)

  • C phpINSERT INTO tn_bng (ct1,,ctn) VALUES

    (gi_tr_1,., gi_tr_n)INSERT INTO tn_bng VALUES (gi_tr_1,

    4.1 Thm d liu

    27

    INSERT INTO tn_bng VALUES (gi_tr_1,gi_tr_2,, gi_tr_n)

    V d insert into SANPHAM values('BC01','But chi', 'cay',

    'Singapore', 3000) insert into SANPHAM(masp,tensp,dvt,nuocsx,gia)

    values ('BC01','But chi','cay','Singapore',3000)

  • C phpUPDATE tn_bngSET ct_1 = gi_tr_1, ct_2 = gi_tr_2 .[WHERE iu_kin]

    4.2 Sa d liu

    28

    [WHERE iu_kin] Lu : cn thn vi cc lnh xa v sa, nu khng

    c iu kin WHERE ngha l xa hoc sa tt c. V d: Tng gi 10% i vi nhng sn phm do

    Trung Quoc sn xutUPDATE SANPHAMSET Gia = Gia*1.1WHERE Nuocsx=Trung Quoc

  • 4.3 Xa d liu

    C phpDELETE FROM tn_bng [WHERE iu_kin]

    V d:

    29

    V d: Xa ton b nhn vin

    DELETE FROM NHANVIEN Xa nhng sn phm do Trung Quc sn xut c gi

    thp hn 10000DELETE FROM SANPHAM WHERE (Gia

  • 5. Ngn ng truy vn d liu c cu trc

    5.1 Cu truy vn tng qut 5.2 Truy vn n gin5.3 Php kt

    30

    5.3 Php kt5.4 t b danh, s dng *, distinct5.5 Cc ton t5.6 Cu truy vn con (subquery)5.7 Php chia5.8 Hm tnh ton, gom nhm

  • SELECT [DISTINCT] *|tn_ct | hmFROM bng [WHERE iu_kin]

    5.1Cu truy vn tng qut

    31

    [WHERE iu_kin][GROUP BY tn_ct][HAVING iu_kin][ORDER BY tn_ct ASC | DESC]

  • 5.2 Truy vn n gin(1) SELECT

    Tng ng php chiu ca SQH Lit k cc thuc tnh cn hin th trong kt qu

    WHERE

    32

    L iu kin chn trong SQH iu kin lin quan ti thuc tnh, s dng cc php ni

    lun l AND, OR, NOT, cc php ton so snh, BETWEEN FROM

    Lit k cc quan h cn thit. L php tch Decartes cc quan h (khng c t kha

    JOINT, ch l du phy gia cc quan h). L php kt cc quan h (nu c t kha JOINT)

  • 5.2 Truy vn n gin(2)

    Tm masp, tensp do Trung Quoc sn xut c gi t 20000 n 30000

    Select masp,tensp

    33

    Select masp,tenspFrom SANPHAMWhere nuocsx=Trung Quoc

    and gia between 20000 and 30000

  • 5.3 Php kt(1)

    Inner Join, Left Join, Right Join, Full Join V d:

    In ra danh sch cc khch hng (MAKH,

    34

    In ra danh sch cc khch hng (MAKH, HOTEN) mua hng trong ngy 1/1/2007.select KHACHHANG.makh,hoten from KHACHHANG inner join HOADON on

    KHACHHANG.makh=HOADON.makh where nghd='1/1/2007'

  • 5.3 Php kt (2)

    V d: In ra danh sch tt c cc ha n v h tn ca khch hng mua ha n (nu c) Select sohd, hoten

    35

    Select sohd, hotenFrom HOADON left join KHACHHANG on

    HOADON.makh=KHACHHANG.makh Select sohd, hoten

    From HOADON, KHACHHANG where HOADON.makh*=KHACHHANG.makh

  • 5.4 t b danh, s dng *, distinct

    t b danh Alias: cho thuc tnh v quan h: tn_c AS tn_mi Select manv,hoten as [ho va ten] From NHANVIEN

    36

    Lit k tt c cc thuc tnh ca quan h: Select * from Nhanvien Select NHANVIEN.* from NHANVIEN

    Distinct: trng ch ly mt ln Select distinct nuocsx from SANPHAM

    Sp xp kt qu hin th: Order by Select * from SANPHAM order by nuocsx, gia DESC

  • 5.5 Ton t truy vn(1)

    Ton t so snh: =, >,=,

  • 5.5 Ton t truy vn(2) IS NULL, IS NOT NULL

    Select sohd from HOADON where makh is Null Select * from HOADON where makh is Not Null

    38

    Ton t so snh, php ton Select gia*1.1 as [gia ban] from SANPHAM where nuocsx

    Viet Nam Select * from SANPHAM where (gia between 20000 and

    30000) OR (nuocsx = Viet Nam) Ton t IN, NOT IN: Cc mu tin ca query chnh c

    gi tr bng vi mt gi tr trong subquery Select * from SANPHAM where masp NOT IN

    (BB01,BB02,BB03)

  • Ton t LIKE

    So snh chui tng i

    C php: s LIKE p, p c th cha % hoc _

    5.5 Ton t so snh(3)

    39

    C php: s LIKE p, p c th cha % hoc _

    % : thay th mt chui k t bt k _ : thay th mt k t bt k V d: Select masp,tensp from SANPHAM

    where masp like 'B%01

  • 5.6 Cu truy vn con (0) Exists: c s dng kt hp vi truy vn con di dng:

    WHERE [NOT] EXISTS (truy_vn_con) kim tra xem 1 truy vn con c tr v dng kt qu no hay

    khng. Lng t EXISTS (tng ng NOT EXISTS) tr v gi tr True nu kt qu ca truy vn con c t nht mt dng

    40

    (tng ng khng c dng no). iu khc bit ca vic s dng EXISTS vi hai cch nu trn l trong danh sch chn ca truy vn con c th c nhiu hn hai ct.

    V d: Cho bit h tn sinh vin cha c im thi ca bt k mn hc no.

  • 5.6 Cu truy vn con (1)In hoc Exists (Cc mu tin ca query chnh tha mn khi subquery c mu tin)

    V d: Tm cc s ha n mua cng lc 2 sn phm c m s BB01 v BB02.

    41

    BB01 v BB02. select distinct sohd

    from CTHD where masp='BB01' and sohd IN(select distinct sohd from CTHD where masp='BB02')

    select distinct A.sohd from CTHD A where A.masp='BB01' and

    EXISTS (select * from CTHD B where B.masp='BB02' and A.sohd=B.sohd)

  • 5.6 Cu truy vn con (2)

    Not In hoc Not Exists V d: Tm cc s ha n c mua sn phm m s

    BB01 nhng khng mua sn phm m s BB02.

    42

    BB01 nhng khng mua sn phm m s BB02. select distinct sohd

    from CTHD where masp='BB01' and sohd NOT IN(select distinct sohd from CTHD where masp='BB02')

    select distinct A.sohd from CTHD A where A.masp='BB01' and

    NOT EXITST (select * from CTHD B where B.masp='BB02 and A.sohd=B.sohd)

  • 5.7 Php chia

    V d: Tm nhng sn phm ca Singapore mSoHD 1001 cha mua+ S dng NOT IN

    43

    SELECT * FROM SANPHAMWHERE NUOCSX='SINGAPORE' AND MASP NOT IN(--Cu truy vn con

    SELECT MASP FROM CTHDWHERE SOHD='1001')

  • 5.7 Php chia (1)

    V d: Tm nhng sn phm ca Singapore m SoHD 1001 cha mua + S dng NOT EXISTS

    44

    + S dng NOT EXISTSSELECT * FROM SANPHAM AWHERE NUOCSX='SINGAPORE' AND NOT EXISTS(--

    Cu truy vn conSELECT * FROM CTHD BWHERE SOHD='1001' AND A.MASP=B.MASP)

  • 5.7 Php chia

    S dng NOT EXISTS V d: Tm s ha n mua tt c nhng sn

    phm.

    45

    phm.Select sohd from HOADON where not exists (select * from SANPHAM where not exists

    (select * from CTHD where HOADON.sohd=CTHD.sohd and CTHD.masp=SANPHAM.masp))

  • 5.7 Php chiaS dng NOT EXISTS V d: Tm s ha n mua tt c nhng sn

    phm do Trung Quoc sn xut:Select sohd from HOADON where not exists

    46

    Select sohd from HOADON where not exists (select * from SANPHAM where nuocsx=Trung Quoc and not exists

    (select * from CTHD where HOADON.sohd=CTHD.sohd and CTHD.masp=SANPHAM.masp))

    - Ph: tm nhng sn phm ca TQ m mt S ha n bt kcha mua. Ph: ng (khng c SP no) = S ha n mua tt c sn phm ca Trung Quc

  • 5.8.1 Cc hm tnh ton c bn COUNT: m s b d liu ca thuc tnh

    5.8 Cc hm tnh ton v gom nhm (1)

    47

    MIN: Tnh gi tr nh nht

    MAX: Tnh gi tr ln nht

    AVG: Tnh gi tr trung bnh

    SUM: Tnh tng gi tr cc b d liu

  • NHANVIEN

    MANV HOTEN PHAI MANQL PHONG LUONGNV001 Nguyn Ngc Linh N Null NC 2.800.000

    48

    NV002 inh B Tin Nam NV002 DH 2.000.000NV003 Nguyn Vn Mnh Nam NV001 NC 2.300.000NV004 Trn Thanh Long Nam NV002 DH 1.800.000NV005 Nguyn Th Hng Vn N NV001 NC 2.500.000NV006 Nguyn Minh Nam NV002 DH 2.000.000NV007 H Duy Lp Nam NV003 NC 1.800.000NV008 Trn Kim Duyn N NV003 NC 1.800.000NV009 Nguyn Kim Anh N NV003 NC 2.000.000

  • V d

    1. Tnh lng thp nht, cao nht, trung bnh v tng lng ca tt c cc nhn vin.

    2. C tt c bao nhiu nhn vin

    49

    2. C tt c bao nhiu nhn vin3. Bao nhiu nhn vin c ngi qun l4. Bao nhiu phng ban c nhn vin trc thuc5. Tnh lng trung bnh ca cc nhn vin6. Tnh lng trung bnh ca cc nhn vin theo

    tng phng ban

  • 1. Tnh lng thp nht, cao nht, trung bnh v tng lng ca tt c cc nhn vin.

    50

    SELECT min(luong) as thapnhat, max(luong) as caonhat, avg(luong) as trungbinh, sum(luong) as tongluong

    FROM NhanVien

  • 2. C tt c bao nhiu nhn vinSELECT count(*) FROM NhanVien

    51

    3. Bao nhiu nhn vin c ngi qun l Select count(*) FROM NhanVien WHERE manql is not null SELECT count(Manql) FROM NhanVien

    4. Bao nhiu phng ban c nhn vin trc thucSELECT count(distinct phong) FROM NhanVien

  • 5.8 Cc hm tnh ton v gom nhm (2)

    5.8.2 Gom nhm: mnh GROUP BY S dng hm gom nhm trn cc b trong quan h. Mi nhm b bao gm tp hp cc b c cng gi tr trn

    52

    Mi nhm b bao gm tp hp cc b c cng gi tr trn cc thuc tnh gom nhm

    Hm gom nhm p dng trn mi b c lp nhau. SQL c mnh GROUP BY ch ra cc thuc tnh

    gom nhm, cc thuc tnh ny phi xut hin trong mnh SELECT

  • 5. Tnh lng trung bnh ca cc nhn vinSELECT avg(LUONG) as LUONGTBFROM NhanVien

    53

    FROM NhanVien

    6. Tnh lng trung bnh ca cc nhn vin theo tng phng ban.SELECT phong, avg(LUONG) as LUONGTBFROM NhanVienGROUP BY phong

  • 5.8 Cc hm tnh ton v gom nhm (3)

    5.8.3 iu kin sau gom nhm: mnh HAVING Lc kt qu theo iu kin, sau khi gom nhm iu kin HAVING c thc hin sau khi gom nhm,

    54

    iu kin HAVING c thc hin sau khi gom nhm, cc iu kin c lin quan n thuc tnh Group By

    V d: tm phng c s lng nhn vin N trn 5 ngiSELECT phongFROM NhanVienWHERE phai = NGROUP BY phongHAVING count(manv) > 5

  • 5.9 Cc hm x l trong SQL

    Hm ton hc

    55

    Hm x l xu

    Hm ngy thng

    Hm chuyn i

  • Hm ton hc

    Sqrt(n): cn bc 2 Square(n): hm bnh phng Sign(n): hm ly du

    56

    Sign(n): hm ly du Sign(10) = Sign(5) = 1, Sign(-2) = -1

    Pi(): tr v gi tr Pi Round(n): lm trn Ceiling(n): lm trn ln Floor(n): lm trn xung

  • Hm x l xu Upper(str): chuyn i xu str sang ch HOA

    Upper(H Ni) => H NI Lower(str) : chuyn i xu str sang ch thng

    Lower(H Ni) => h ni

    57

    Len(str) : tr v di ca xu + : php ton ghp 2 xu

    H Ni + H Nam => H NiH Nam

    Ltrim(str) : loi b k t trng bn tri xu Ltrim( H Ni ) => H Ni

    Rtrim(str) : loi b k t trng bn phi xu Rtrim( H Ni ) => H Ni

  • Hm x l xu Left(str,n) : tr v n k t bn tri xu

    Left(H Ni,5) => H N Right(str,n) : tr v n k t bn phi xu

    Left(H Ni,5) => Ni

    58

    Left(H Ni,5) => Ni Substring(str,m,n) : tr v n k t bt u t v tr th m trong

    xu str Subtring(H Ni,2,4) => N;

    Replace(str,str1,str2) : thay th xu str1 bng xu str2 nu str1 xut hin trong str Replace(H Ni,Ni,Nam) => H Nam

    Reverse(str) : tr v xu o ngc ca xu str Reverse(H Ni) => iN H

  • Hm ngy thng

    Getdate(): hm tr ra ngy gi h thng Datepart(tham_s_datepart, date): tr v gi tr

    nguyn theo tham s ly

    59

    nguyn theo tham s ly

    V dDatepart(dd,getdate());Datepart(yyyy,getdate());

  • Hm ngy thng Day(date) : tr v gi tr nguyn ngy Month(date) : tr v gi tr nguyn thng Year(date): tr v gi tr nguyn nm

    Year(2007/5/20) => 2007

    60

    Year(2007/5/20) => 2007

    Datediff(tham_s_datepart, date1, date2): tr vkhong cch date2-date1 theo tham s Datediff(mm, 2006/5/15, 2007/10/15) => 17

    Dateadd(tham_s_datepart, n, date): cng thm n theo loi tham s vo date Dateadd(dd, 40, 2007/5/15) => 2007/6/24

  • DDLDML SQLHm tnh

    ton & x l

    61

    ton & x l

  • 62

  • 63