DTECH SST - Tài liệu kỹ thuật
  • CÀI ĐẶT DTECH
    • PHIÊN BẢN ĐÓNG GÓI
    • PHIÊN BẢN CUSTOMIZE
      • UPDATE LẬP TRÌNH SANG KHÁCH HÀNG
    • CHUYỂN MÁY CHỦ ĐÓNG GÓI
    • LỖI KẾT NỐI MÁY CHỦ
    • LỖI ATTACH DATA KHÔNG NHẬN
    • QUẢN LÝ TRẠM
    • BẢN SERVICE
      • KHÔNG NHẬN ĐỦ DATA KHI ĐĂNG NHẬP
      • KHÔNG TẠO ĐƯỢC DATA MỚI
      • KIỂM TRA KHÓA BẢN DỊCH VỤ
    • LỖI ĐĂNG NHẬP TRÊN MÁY CHỦ
    • LỖI ĐĂNG NHẬP MÁY TRẠM
    • CÀI ĐẶT SQL LỖI
    • XỬ LÝ LIÊN QUAN KEY HỆ THỐNG
    • Lỗi đọc thông tin phần cứng (Alias not found)
    • A severe error occurred on the current command
    • GỬI HƯỚNG DẪN CÀI ĐẶT XONG
    • PHIÊN BẢN CŨ
  • HÓA ĐƠN ĐIỆN TỬ
    • CHỮ KÝ SỐ - CKS
    • CẤU HÌNH KẾT NỐI
    • CÔNG CỤ LIÊN QUAN
    • TỔNG HỢP LỖI CHUNG
      • Update trạng thái huỷ cho chứng từ
      • update trạng thái hoá đơn effect
      • Xoá menu chuột phải bị lặp lại
    • TỔNG HỢP LỖI M-INVOICE
    • TỔNG HỢP LỖI VNPT
    • TỔNG HỢP LỖI VIETTEL
    • TỔNG HỢP LỖI BKAV
    • TỔNG HỢP LỖI VIN
    • TỎNG HỢP LỖI EASYINVOICE
    • LƯU Ý HOÁ ĐƠN ĐIỆN TỬ
  • LỖI THƯỜNG GẶP
    • LƯU BÁO LỖI
    • GIAO DIỆN VỠ FONT
  • CONVERT DỮ LIỆU
    • EFFECT 2.0
    • EFFECT 3.0 - 4.0 - 6.0
    • MISA VERSION DESKTOP
    • 3T SOFT
  • EXCEL
  • DANH MỤC
    • TẠO CỘT MÃ TĂNG TỰ ĐỘNG
    • XOÁ BỎ CÁC DÒNG TRÙNG
    • UPDATE BANKACCOUNT THEO TÀI KHOẢN KẾ TOÁN
    • MỞ RỘNG KÝ TỰ CHO CỘT MÃ
    • XỬ LÝ SỐ LƯỢNG QUY ĐỔI
    • UPDATE CHITIETTHEO
  • DỮ LIỆU KẾ TOÁN
    • CẬP NHẬT DIỄN GIẢI BÁN HÀNG
  • LƯƠNG
    • CÁC LỖI THƯỜNG GẶP
  • NGHIỆP VỤ
    • TEMP NOTE PHÂN TÍCH
  • PHIẾU IN NHẬP LIỆU
    • IN MẪU DẠNG GROUP
    • Merger các ô của cột trên các dòng giống nhau
    • CÂU LỆNH FORMAT PHIẾU IN
    • Lặp lại tiêu đề in + logo... ở trang 2
    • Lặp lại tiêu đề in
  • KẾT NỐI HTKK
    • MAPING TỪ 1 BÁO CÁO
    • MAPING TỪ NHIỀU BÁO CÁO
  • BÁO CÁO
    • CÔNG THỨC
    • BÁO CÁO DYNAMIC ĐỘNG
      • dynamic cột là tháng
    • LẤY ĐIỀU KIỆN LỌC BÁO CÁO
    • TEMP NOTE PHÂN TÍCH
    • ENTER CHI TIẾT
    • Trước tất cả - chặn khi thiếu điều kiện lọc
  • EFFECT
    • TRUYỀN ĐẨY DỮ LIỆU *
    • GHÉP TỆP U*.DBF
    • KIỂM TRA TRẠM
    • FONT
    • BÁO CÁO
  • SQL SERVER
    • Một số lỗi truy vấn SQL
    • Tài khoản sa của SQL SERVER
    • SQL Server blocked access (OpenRowset/OpenDatasource)
    • Chế độ xp_cmd shell trong SQL Server
    • Tạo Backup tự động SQL Express
    • SQL Script Kiểm tra
    • SQL Scritp Fix Database
    • Attach and Detach Database
    • SQL LOCAL DB
    • HÀM TÁCH SỐ VÀ CHỮ KHỎI CHUỖI
    • KHÔNG TÌM THẤY SQL CONFIG
    • identity_insert table
    • BACKUP - RESTORE SQL
    • Insert tables
    • Sửa lỗi cài đặt SQL
    • Shrink Database
    • Kiểm tra port SQL sử dụng
    • CONVERT DATATYPE SQL
    • Xóa bản ghi trùng trên bảng
    • Replication SQL SERVER
  • THUẾ
    • HÓA ĐƠN MUA VÀO LÀ HÓA ĐƠN BÁN HÀNG CÓ CẦN KÊ KHAI TRÊN TỜ KHAI THUẾ GTGT KHÔNG?
    • Kết chuyển thuế GTGT cuối kỳ
  • LỆNH CẦN BIẾT
  • CÔNG CỤ KHÁC
    • RADMIN VPN
      • CÀI ĐẶT RADMIN
      • KIỂM TRA RADMIN
      • Sửa lỗi Bạn bị cấm ( You are banned )
      • Tắt Auto Metric Radmin VPN
      • Mô hình hoạt động của Radmin VPN
    • Tailscale VPN
  • Cài đặt Google Drive để backup dữ liệu
  • GIÁ THÀNH
    • NÔNG NGHIỆP - TRỒNG TRỌT
      • CÂY TRỒNG 1 LẦN, THU HOẠCH NHIỀU LẦN
      • CÂY TRỒNG LÂU NĂM
      • CÂY TRỒNG NGẮN NGÀY
  • 📶MẠNG LAN - INTERNET
  • KIẾN THỨC PHẦN CỨNG MÁY TÍNH
  • KIỂM TRA MÁY TÍNH
  • WINDOWS SERVER
    • WMI Repository
  • Chữ ký số
    • XOÁ DANH SÁCH CKS CŨ
  • Hướng dẫn tạo SSL/TLS miễn phí với OpenSSL và Let’s Encrypt
Powered by GitBook
On this page
  • KIỂU DATETIME
  • Đổi kiểu Date sang Text
  • Đổi kiểu Date sang số Numeric
  • KIỂU SỐ NUMERIC
  • Đổi kiểu Numeric sang Text
  • Đổi kiểu Numeric sang Date
  • KIỂU TEXT
  • Đổi kiểu Text sang Date
  • Đổi kiểu Text sang Numeric
  • TÀI LIỆU THAM KHẢO
  1. SQL SERVER

CONVERT DATATYPE SQL

Các cách đổi kiểu dữ liệu trong SQL SERVER

KIỂU DATETIME

Đổi kiểu Date sang Text

CONVERT(nvarchar, VR.Ngay, 103) --UK Date format 'DD/MM/YYYY'

--Kết quả:
05/11/2022
Format #	    Example query	                                Sample result
0	            SELECT CONVERT(NVARCHAR, GETDATE(), 0)	        Aug 23 2019 1:39PM
1	            SELECT CONVERT(NVARCHAR, GETDATE(), 1)	        08/23/19
2	            SELECT CONVERT(NVARCHAR, GETDATE(), 2)	        19.08.23
3	            SELECT CONVERT(NVARCHAR, GETDATE(), 3)	        23/08/19
4	            SELECT CONVERT(NVARCHAR, GETDATE(), 4)	        23.08.19
5	            SELECT CONVERT(NVARCHAR, GETDATE(), 5)	        23-08-19
6	            SELECT CONVERT(NVARCHAR, GETDATE(), 6)	        23 Aug 19
7	            SELECT CONVERT(NVARCHAR, GETDATE(), 7)	        Aug 23, 19
8 || 24 || 108	    SELECT CONVERT(NVARCHAR, GETDATE(), 8)	        13:39:17
9 || 109	    SELECT CONVERT(NVARCHAR, GETDATE(), 9)	        Aug 23 2019 1:39:17:090PM
10	            SELECT CONVERT(NVARCHAR, GETDATE(), 10)	        08-23-19
11	            SELECT CONVERT(NVARCHAR, GETDATE(), 11)	        19/08/23
12	            SELECT CONVERT(NVARCHAR, GETDATE(), 12)	        190823
13 || 113	    SELECT CONVERT(NVARCHAR, GETDATE(), 13)	        23 Aug 2019 13:39:17:090
14 || 114	    SELECT CONVERT(NVARCHAR, GETDATE(), 14)	        13:39:17:090
20 || 120	    SELECT CONVERT(NVARCHAR, GETDATE(), 20)	        2019-08-23 13:39:17
21 || 25 || 121	    SELECT CONVERT(NVARCHAR, GETDATE(), 21)	        2019-08-23 13:39:17.090
22	            SELECT CONVERT(NVARCHAR, GETDATE(), 22)	        08/23/19 1:39:17 PM
23	            SELECT CONVERT(NVARCHAR, GETDATE(), 23)	        2019-08-23
101	            SELECT CONVERT(NVARCHAR, GETDATE(), 101)	        08/23/2019
102	            SELECT CONVERT(NVARCHAR, GETDATE(), 102)	        2019.08.23
103	            SELECT CONVERT(NVARCHAR, GETDATE(), 103)	        23/08/2019
104	            SELECT CONVERT(NVARCHAR, GETDATE(), 104)	        23.08.2019
105	            SELECT CONVERT(NVARCHAR, GETDATE(), 105)	        23-08-2019
106	            SELECT CONVERT(NVARCHAR, GETDATE(), 106)	        23 Aug 2019
107	            SELECT CONVERT(NVARCHAR, GETDATE(), 107)	        Aug 23, 2019
110	            SELECT CONVERT(NVARCHAR, GETDATE(), 110)	        08-23-2019
111	            SELECT CONVERT(NVARCHAR, GETDATE(), 111)	        2019/08/23
112	            SELECT CONVERT(NVARCHAR, GETDATE(), 112)	        20190823
113	            SELECT CONVERT(NVARCHAR, GETDATE(), 113)	        23 Aug 2019 13:39:17.090
120	            SELECT CONVERT(NVARCHAR, GETDATE(), 120)	        2019-08-23 13:39:17
121	            SELECT CONVERT(NVARCHAR, GETDATE(), 121)	        2019-08-23 13:39:17.090
126	            SELECT CONVERT(NVARCHAR, GETDATE(), 126)	        2019-08-23T13:39:17.090
127	            SELECT CONVERT(NVARCHAR, GETDATE(), 127)	        2019-08-23T13:39:17.090
130	            SELECT CONVERT(NVARCHAR, GETDATE(), 130)	        22 ذو الحجة 1440 1:39:17.090P
131	            SELECT CONVERT(NVARCHAR, GETDATE(), 131)	        22/12/1440 1:39:17.090PM

Query
Kết quả

SELECT FORMAT (getdate(), 'dd/MM/yyyy ') as date

21/03/2021

SELECT FORMAT (getdate(), 'dd/MM/yyyy, hh:mm:ss ') as date

21/03/2021, 11:36:14

SELECT FORMAT (getdate(), 'dddd, MMMM, yyyy') as date

Wednesday, March, 2021

SELECT FORMAT (getdate(), 'MMM dd yyyy') as date

Mar 21 2021

SELECT FORMAT (getdate(), 'MM.dd.yy') as date

03.21.21

SELECT FORMAT (getdate(), 'MM-dd-yy') as date

03-21-21

SELECT FORMAT (getdate(), 'hh:mm:ss tt') as date

11:36:14 AM

SELECT FORMAT (getdate(), 'd','us') as date

03/21/2021

SELECT FORMAT (getdate(), 'yyyy-MM-dd hh:mm:ss tt') as date

2021-03-21 11:36:14 AM

SELECT FORMAT (getdate(), 'yyyy.MM.dd hh:mm:ss t') as date

2021.03.21 11:36:14 A

SELECT FORMAT (getdate(), 'dddd, MMMM, yyyy','es-es') as date --Spanish

domingo, marzo, 2021

SELECT FORMAT (getdate(), 'dddd dd, MMMM, yyyy','ja-jp') as date --Japanese

日曜日 21, 3月, 2021

SELECT FORMAT (getdate(), 'MM-dd-yyyy ') as date

03-21-2021

SELECT FORMAT (getdate(), 'MM dd yyyy ') as date

03 21 2021

SELECT FORMAT (getdate(), 'yyyyMMdd') as date

20231011

SELECT FORMAT (getdate(), 'HH:mm:dd') as time

11:36:14

SELECT FORMAT (getdate(), 'HH:mm:dd.ffffff') as time

11:36:14.84000

Đổi kiểu Date sang số Numeric

declare @dateb datetime
set @dateb = getdate()

select cast(format(@dateb,'yyyyMMdd') as int) --2012 or higher
select cast(convert(varchar(8),@dateb,112) as int) -- all versions

-------------------------------------------------------------------------
select convert(decimal(12,0),getdate())

select convert(decimal(12,4),getdate())

select convert(NUMERIC(12,0),getdate())

select convert(NUMERIC(12,4),getdate())

-- Kết quả:
45603
--
45602.6502

KIỂU SỐ NUMERIC

Đổi kiểu Numeric sang Text

--CAST (expression AS data_type [(length)])
SELECT CAST(123 AS VARCHAR(10))

--------------------------------------
--CONVERT (data_type [ (length) ], expression [, style ])
SELECT CONVERT(VARCHAR(10), 123456)

--------------------------------------
--STR(number, length, decimal)
SELECT STR(987654, 10, 0)

-- Thay thế str bằng hàm LTRIM() sẽ giữ nguyên giá trị
-- Ví dụ
SELECT STR(1234567890.123) 
-- Kết quả:
1234567890

-- Dùng LTRIM()
SELECT LTRIM(1234567890.123) 

--Kết quả:
1234567890.123

Đổi kiểu Numeric sang Date

--
SELECT CAST( CAST( 20281030 AS char(8)) AS date );

--Kết quả:
2028-10-30

--
SELECT DATEADD(s, 1870917359, '1970-01-01');

--Kết quả:
2029-04-15 03:15:59.000

--
SELECT CAST(49723.3986 AS datetime);

--Kết quả:
2036-02-20 09:33:59.040

-- Đổi kiểu ngầm định
DECLARE @number float = 49723.3986;
DECLARE @datetime datetime = @number;
SELECT 
    @number AS "Original Value",
    @datetime AS "Converted Value";
    
--Kết quả:
Original Value	Converted Value
--------------  -----------------------
49723.3986	2036-02-20 09:33:59.040

KIỂU TEXT

Đổi kiểu Text sang Date

-- Dùng CAST
SELECT CAST('11/08/2024' as date) as StringToDate , 
CAST(GETDATE() as VARCHAR(50)) as DateToString

--Kết quả:
2024-11-08	Nov  8 2024  4:00PM

-- Dùng CONVERT

SELECT CONVERT(DATETIME,'11/08/2024',103)

--Kết quả:
2024-08-11 00:00:00.000

-- Dùng PARSE:
--PARSE(<value> AS <data type> [USING <culture>])

SELECT PARSE('11/08/2024' AS DATE USING 'AR-LB')

--Kết quả:
2024-08-11

-- Dùng TRY_CAST(), TRY_CONVERT() and TRY_PARSE() tương tự

Đổi kiểu Text sang Numeric

-- Dùng CAST
SELECT CAST('100' AS INT) AS converted_integer

-- Dùng CONVERT
SELECT CONVERT(INT, '2000') AS converted_integer

-- DÙNG TRY_CAST
--Cách 1:
SELECT TRY_CAST(your_text_column AS INT) AS converted_integerFROM your_table;
--Cách 2:
SELECT CASE WHEN ISNUMERIC(your_text_column) = 1 THEN CAST(your_text_column AS INT)  ELSE NULL END AS converted_integer 
FROM your_table;
-- Cách 3: Kiểm soát được lỗi
BEGIN TRY    
    SELECT CAST(your_text_column AS INT) AS converted_integer FROM your_table;
END TRY
BEGIN CATCH    
SELECT ERROR_MESSAGE() AS ErrorMessage;
END CATCH;



TÀI LIỆU THAM KHẢO

https://www.mssqltips.com/sqlservertip/2655/format-sql-server-dates-with-format-function/

https://www.mssqltips.com/sqlservertip/1145/date-and-time-conversions-using-sql-server/

https://www.w3schools.com/sql/func_sqlserver_current_user.asp

https://www.sqlshack.com/sql-server-functions-for-converting-string-to-date/

https://www.sqlshack.com/sql-convert-date-functions-and-formats/
PreviousKiểm tra port SQL sử dụngNextXóa bản ghi trùng trên bảng

Last updated 7 months ago