Tham chiếu Transact-SQL cho hàm FORMAT.

Bạn đang xem : thay đổi định dạng trong sql

ĐỊNH DẠNG (Transact-SQL)

Trong bài viết này

Áp dụng cho: SQL Server (tất cả các phiên bản được hỗ trợ) Cơ sở dữ liệu Azure SQL Azure SQL Managed Instance Azure Synapse Analytics

Trả về giá trị được định dạng với định dạng được chỉ định và văn hóa tùy chọn. Sử dụng hàm FORMAT để định dạng nhận biết ngôn ngữ của các giá trị ngày / giờ và số dưới dạng chuỗi. Đối với các chuyển đổi loại dữ liệu chung, hãy sử dụng CAST hoặc CONVERT.

Quy ước về cú pháp Transact-SQL

Cú pháp

  ĐỊNH DẠNG (giá trị, định dạng [, văn hóa])
 

Lưu ý

Để xem cú pháp Transact-SQL cho SQL Server 2014 trở về trước, hãy xem Tài liệu về các phiên bản trước .

Đối số

giá trị
Biểu thức của một kiểu dữ liệu được hỗ trợ để định dạng. Để biết danh sách các loại hợp lệ, hãy xem bảng trong phần Nhận xét sau.

định dạng
mẫu định dạng nvarchar .

Đối số định dạng phải chứa chuỗi định dạng .NET Framework hợp lệ, ở dạng chuỗi định dạng chuẩn (ví dụ: “C” hoặc “D”) hoặc dưới dạng mẫu ký tự tùy chỉnh cho ngày và giá trị số (ví dụ: , “MMMM DD, yyyy (dddd)”). Định dạng tổng hợp không được hỗ trợ. Để được giải thích đầy đủ về các mẫu định dạng này, hãy tham khảo tài liệu .NET Framework về định dạng chuỗi nói chung, định dạng ngày giờ tùy chỉnh và định dạng số tùy chỉnh. Điểm khởi đầu tốt là chủ đề “ Các loại định dạng “.

văn hóa
Đối số nvarchar tùy chọn chỉ định một nền văn hóa.

Nếu đối số văn hóa không được cung cấp, ngôn ngữ của phiên hiện tại sẽ được sử dụng. Ngôn ngữ này được đặt ngầm định hoặc rõ ràng bằng cách sử dụng câu lệnh SET LANGUAGE. văn hóa chấp nhận bất kỳ nền văn hóa nào được hỗ trợ bởi .NET Framework làm đối số; nó không giới hạn đối với các ngôn ngữ được SQL Server hỗ trợ rõ ràng. Nếu đối số văn hóa không hợp lệ, FORMAT sẽ tạo ra lỗi.

Loại trả lại

nvarchar hoặc null

Độ dài của giá trị trả về được xác định bởi định dạng.

Nhận xét

FORMAT trả về NULL cho các lỗi không phải là văn hóa không hợp lệ. Ví dụ: NULL được trả về nếu giá trị được chỉ định trong định dạng không hợp lệ.

Hàm FORMAT không có tính xác định.

FORMAT dựa trên sự hiện diện của .NET Framework Common Language Runtime (CLR).

Không thể khởi động từ xa chức năng này vì nó phụ thuộc vào sự hiện diện của CLR. Việc khởi động lại một chức năng yêu cầu CLR, có thể gây ra lỗi trên máy chủ từ xa.

Xem Thêm  Cách thêm và thay đổi màu nền trong HTML - màu nền html cơ thể

FORMAT dựa trên các quy tắc định dạng CLR, quy tắc này quy định rằng dấu hai chấm và dấu chấm phải được thoát ra. Do đó, khi chuỗi định dạng (tham số thứ hai) chứa dấu hai chấm hoặc dấu chấm, dấu hai chấm hoặc dấu chấm phải được thoát bằng dấu gạch chéo ngược khi giá trị đầu vào (tham số đầu tiên) thuộc kiểu dữ liệu time . Xem D. ĐỊNH DẠNG với các loại dữ liệu thời gian .

Bảng sau liệt kê các kiểu dữ liệu được chấp nhận cho đối số giá trị cùng với các kiểu ánh xạ .NET Framework tương đương của chúng.

Loại
Loại hình
Loại .NET

Số
bigint
Int64

Số
int
Int32

Số
lửa nhỏ
Int16

Số
tí hon
Byte

Số
số thập phân
SqlDecimal

Số
số
SqlDecimal

Số
trôi nổi
Kép

Số
có thật
Duy nhất

Số
tiền nhỏ
Số thập phân

Số
tiền bạc
Số thập phân

Ngày và giờ
ngày
Ngày giờ

Ngày và giờ
thời gian
TimeSpan

Ngày và giờ
ngày giờ
Ngày giờ

Ngày và giờ
smalldatetime
Ngày giờ

Ngày và giờ
datetime2
Ngày giờ

Ngày và giờ
datetimeoffset
DateTimeOffset

Ví dụ

A. Ví dụ về FORMAT đơn giản

Ví dụ sau trả về một ngày đơn giản được định dạng cho các nền văn hóa khác nhau.

  KHAI BÁO @d DATE = '11 / 22/2020 ';
CHỌN ĐỊNH DẠNG (@d, 'd', 'en-US') 'Tiếng Anh Mỹ'
      , FORMAT (@d, 'd', 'en-gb') 'Tiếng Anh Vương quốc Anh'
      , ĐỊNH DẠNG (@d, 'd', 'de-de') 'Tiếng Đức'
      , FORMAT (@d, 'd', 'zh-cn') 'Tiếng Trung giản thể (PRC)';
  
CHỌN ĐỊNH DẠNG (@d, 'D', 'en-US') 'Tiếng Anh Mỹ'
      , FORMAT (@d, 'D', 'en-gb') 'Tiếng Anh Vương quốc Anh'
      , ĐỊNH DẠNG (@d, 'D', 'de-de') 'Tiếng Đức'
      , ĐỊNH DẠNG (@d, 'D', 'zh-cn') 'Tiếng Trung (CHNDTH giản thể)';
 

Đây là tập hợp kết quả.

  US English Anh Quốc Anh Đức Tiếng Trung giản thể (PRC)
---------- --------------------- ---------------- ---------------
22/11/2020 22/11/2020 22.11.2020 2020/11/22
  
Tiếng Anh Mỹ Vương quốc Anh Tiếng Anh Đức Tiếng Trung (CHNDTH giản thể)
--------------------------------- ------------------------- ------------------------- --------------
Chủ nhật, ngày 22 tháng 11 năm 2020 22 tháng 11 năm 2020 Sonntag, ngày 22 tháng 11 năm 2020 năm 2020 年 11 月 22 日
  
 

B. ĐỊNH DẠNG với các chuỗi định dạng tùy chỉnh

Ví dụ sau cho thấy định dạng các giá trị số bằng cách chỉ định một định dạng tùy chỉnh. Ví dụ giả định rằng ngày hiện tại là ngày 27 tháng 9 năm 2012. Để biết thêm thông tin về các định dạng này và các định dạng tùy chỉnh khác, hãy xem Chuỗi định dạng số tùy chỉnh .

  DECLARE @d DATE = GETDATE ();
CHỌN ĐỊNH DẠNG (@d, 'dd / MM / yyyy', 'en-US') LÀM 'Ngày'
       , ĐỊNH DẠNG (123456789, '### - ## - ####') NHƯ 'Số tùy chỉnh';
 

Đây là tập hợp kết quả.

  Ngày Số tùy chỉnh
---------- -------------
22/11/2020 123-45-6789
  
 

C. ĐỊNH DẠNG với các kiểu số

Ví dụ sau trả về 5 hàng từ bảng Sales.CurrencyRate trong cơ sở dữ liệu AdventureWorks2012. Cột EndOfDateRate được lưu trữ dưới dạng loại tiền trong bảng. Trong ví dụ này, cột được trả về không có định dạng và sau đó được định dạng bằng cách chỉ định định dạng Số .NET, Định dạng chung và các loại định dạng Tiền tệ. Để biết thêm thông tin về các định dạng này và các định dạng số khác, hãy xem Chuỗi định dạng số chuẩn .

  CHỌN HÀNG ĐẦU (5) CurrencyRateID, EndOfDayRate
            , ĐỊNH DẠNG (EndOfDayRate, 'N', 'en-us') NHƯ 'Định dạng số'
            , ĐỊNH DẠNG (EndOfDayRate, 'G', 'en-us') NHƯ 'Định dạng chung'
            , ĐỊNH DẠNG (EndOfDayRate, 'C', 'en-us') NHƯ 'Định dạng tiền tệ'
TỪ Bán hàng.CurrencyRate
ĐẶT HÀNG THEO CurrencyRateID;
 

Đây là tập hợp kết quả.

  CurrencyRateID EndOfDayRate Numeric Định dạng chung Định dạng tiền tệ
-------------- ------------ -------------- ---------- ---- ---------------
1 1.0002 1.00 1.0002 $ 1.00
2 1,55 1,55 1,5500 $ 1,55
3 1,9419 1,94 1,9419 $ 1,94
4 1.4683 1.47 1.4683 $ 1.47
5 8.2784 8.28 8.2784 $ 8.28
  
 

Ví dụ này chỉ rõ văn hóa Đức (de-de).

  CHỌN HÀNG ĐẦU (5) CurrencyRateID, EndOfDayRate
      , ĐỊNH DẠNG (EndOfDayRate, 'N', 'de-de') NHƯ 'Định dạng số'
      , ĐỊNH DẠNG (EndOfDayRate, 'G', 'de-de') NHƯ 'Định dạng chung'
      , ĐỊNH DẠNG (EndOfDayRate, 'C', 'de-de') NHƯ 'Định dạng tiền tệ'
TỪ Bán hàng.CurrencyRate
ĐẶT HÀNG THEO CurrencyRateID;
 
  CurrencyRateID EndOfDayRate Numeric Định dạng chung Định dạng tiền tệ
-------------- ------------ -------------- ---------- ---- ---------------
1 1.0002 1,00 1,0002 1,00 & amp; euro;
2 1,55 1,55 1,5500 1,55 & amp; euro;
3 1,9419 1,94 1,9419 1,94 & amp; euro;
4 1,4683 1,47 1,4683 1,47 & amp; euro;
5 8,2784 8,28 8,2784 8,28 & amp; euro;
  
 

D. ĐỊNH DẠNG với các kiểu dữ liệu thời gian

FORMAT trả về NULL trong những trường hợp này vì . : không được thoát.

  CHỌN ĐỊNH DẠNG (ép kiểu ('07: 35 'theo thời gian), N'hh.mm'); - & gt; trả về NULL
CHỌN ĐỊNH DẠNG (ép kiểu ('07: 35 'theo thời gian), N'hh: mm'); - & gt; trả về NULL
 

Định dạng trả về một chuỗi được định dạng vì . : được thoát ra.

  CHỌN ĐỊNH DẠNG (ép kiểu ('07: 35 'theo thời gian), N'hh \ .mm'); - & gt; trả về 07.35
CHỌN ĐỊNH DẠNG (ép kiểu ('07: 35 'theo thời gian), N'hh \: mm'); - & gt; trả về 07:35
 

Định dạng trả về thời gian hiện tại được định dạng với SA hoặc CH được chỉ định

  CHỌN ĐỊNH DẠNG (SYSDATETIME (), N'hh: mm tt '); - trả về 03:46 PM
CHỌN ĐỊNH DẠNG (SYSDATETIME (), N'hh: mm t '); - trả về 03:46 P
 

Định dạng trả về thời gian đã chỉ định, hiển thị AM

  chọn ĐỊNH DẠNG (CAST ('2018-01-01 01:00' AS datetime2), N'hh: mm tt ') - trả về 01:00 sáng
chọn ĐỊNH DẠNG (CAST ('2018-01-01 01:00' AS datetime2), N'hh: mm t ') - trả về 01:00 A
 

Định dạng trả về thời gian đã chỉ định, hiển thị PM

 select FORMAT (CAST ('2018-01-01 14:00' AS datetime2), N'hh: mm tt ') - trả về 02:00 PM
chọn ĐỊNH DẠNG (CAST ('2018-01-01 14:00' AS datetime2), N'hh: mm t ') - trả về 02:00 P
 

Định dạng trả về thời gian được chỉ định ở định dạng 24h

  chọn ĐỊNH DẠNG (CAST ('2018-01-01 14:00' AS datetime2), N'HH: mm ') - trả về 14:00
 

Xem thêm

Xem Thêm  Thuộc tính ký quỹ trong CSS - margin trong css là gì


Xem thêm những thông tin liên quan đến chủ đề thay đổi định dạng trong sql

Cách lưu thay đổi cấu trúc bảng trong SQL Server | How to save changed sql server table struct

  • Tác giả: IT1PHUT
  • Ngày đăng: 2021-08-12
  • Đánh giá: 4 ⭐ ( 7237 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Khi sửa cấu trúc bảng SQL Server, công cụ MS Sql Server Management Studio không cho chúng ta lưu các thay đổi này. Video này hướng dẫn cách lưu thay đổi cấu trúc bảng.
    When change the table structure, the MS Sql Server Management Studio tool prevents save changed. This video shows how to save changed the table structure.

FORMAT – Hàm đổi kiểu dữ liệu

  • Tác giả: www.sql.edu.vn
  • Đánh giá: 5 ⭐ ( 8371 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hàm FORMAT trong Microsoft SQL Server dùng để đổi kiểu dữ liệu và định dạng thời gian, số.

Tạo Biến Bằng Lênh Declare Trong Sql Là Gì, Declare Sql Là Gì

  • Tác giả: phunutiepthi.vn
  • Đánh giá: 5 ⭐ ( 2823 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Stored procedure trong SQL Server được sử dụng để nhóm một hoặc nhiều câu lệnh Transact-SQL thành các đơn vị logic, Stored procedure được lưu trữ dưới dạng các đối tượng được đặt tên trong máy chủ cơ sở dữ liệu SQL Server

[SQLSERVER] Hướng dẫn chuyển đổi định dạng kiểu Date Time

  • Tác giả: laptrinhvb.net
  • Đánh giá: 4 ⭐ ( 7241 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong bài viết hôm nay, mình sẽ giới thiệu đến các bạn hàm

Chuyển đổi ngày giờ của SQL Server sang định dạng ngày ngắn hơn

  • Tác giả: qastack.vn
  • Đánh giá: 3 ⭐ ( 6719 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: [Tìm thấy giải pháp!] Hãy xem CONVERT . Tham số thứ 3 là kiểu ngày giờ bạn muốn chuyển đổi…

Cách định dạng đúng mã SQL

  • Tác giả: helpex.vn
  • Đánh giá: 3 ⭐ ( 4247 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Viết truy vấn vào cơ sở dữ liệu yêu cầu kiến ​​thức về cú pháp SQL, nhưng đây không phải là tất cả những gì bạn nên biết. Các phương pháp hay nhất để viết mã SQL chuyên nghiệp yêu cầu kỹ…

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php