Thứ Ba, 28 tháng 5, 2013

SUBSTRING () trong SQL

SUBSTRING ( expression ,start , length )
 
SELECT SUBSTRING(cast(GETDATE() as varchar),1,19)  
 
kết quả: 
 May 28 2013  9:09PM 
 
---> hàm getdate() : lấy ngày/ tháng/ năm giờ :phút: giây hiện tại
CAST() là hàm ép kiểu về kiểu chuỗi varchar,
 SUBSTRING() : lấy chuỗi bắt đầu từ 1 đến ký tự thứ 19

1 nhận xét:

  1. Chào các Pro!
    mình có tìm được code sql xử lý cắt họ tên ra thành họ + tên lót + tên trong SQL.
    Mặc định trong cơ sở dữ liệu của chúng ta có bảng Employee và cột FullName thuộc về bảng Employee. Thuật toán như sau:

    Code:
    select FullName, LTRIM(RTRIM(LastName)) as LastName, LTRIM(RTRIM(case when len(FullName) >= len(LastName) + len(FirstName)+ 2

    then substring(FullName, len(LastName) + 2, len(FullName) - len(FirstName) - len(LastName) - 2)

    else ''

    end)) as MidName,

    RTRIM(LTRIM(FirstName))as FirstName

    from (select FullName,

    (case when Patindex('% %',Reverse(FullName)) = 0 then FullName

    else Reverse(substring(Reverse(FullName),0,Patindex('% %',Reverse(FullName))) )

    end) as FirstName,

    substring(FullName,0, patindex('% %',FullName)) as LastName

    from Employee) as E

    DEMO dữ liệu :
    Nguyễn Văn A
    Nguyễn Văn B
    Đoàn Văn C
    Trần Văn D

    Giờ mình muốn thay những người có họ + tên lót là : "Nguyễn Văn" thì mình sẽ đổi thành "Lê" + tên
    Nguyễn Văn A => Lê A
    Pro nào giúp mình với, thanks!

    Trả lờiXóa