Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Contoh Pemformatan 'datetimeoffset' di SQL Server menggunakan String Format Standar (T-SQL)

Saya pikir akan menarik untuk menjalankan beberapa kueri cepat untuk melihat bagaimana berbagai string pemformatan memengaruhi pemformatan nilai tanggal/waktu.

Contoh 1 – Budaya Invarian

DECLARE @date datetimeoffset, @culture char(2); 
SET @date = '2030-05-25 23:59:30.1234567 +07:00';
SET @culture = 'iv';
SELECT 
  FORMAT(@date, 'd', @culture) AS 'd',
  FORMAT(@date, 'D', @culture) AS 'D',
  FORMAT(@date, 'f', @culture) AS 'f',
  FORMAT(@date, 'F', @culture) AS 'F',
  FORMAT(@date, 'g', @culture) AS 'g',
  FORMAT(@date, 'G', @culture) AS 'G',
  FORMAT(@date, 'm', @culture) AS 'm',
  FORMAT(@date, 'M', @culture) AS 'M',
  FORMAT(@date, 'o', @culture) AS 'o',
  FORMAT(@date, 'O', @culture) AS 'O',
  FORMAT(@date, 'r', @culture) AS 'r',
  FORMAT(@date, 'R', @culture) AS 'R',
  FORMAT(@date, 's', @culture) AS 's',
  FORMAT(@date, 't', @culture) AS 't',
  FORMAT(@date, 'T', @culture) AS 'T',
  FORMAT(@date, 'u', @culture) AS 'u',
  FORMAT(@date, 'U', @culture) AS 'U',
  FORMAT(@date, 'y', @culture) AS 'y',
  FORMAT(@date, 'Y', @culture) AS 'Y';

Hasil (menggunakan keluaran vertikal):

d | 05/25/2030
D | Saturday, 25 May 2030
f | Saturday, 25 May 2030 23:59
F | Saturday, 25 May 2030 23:59:30
g | 05/25/2030 23:59
G | 05/25/2030 23:59:30
m | May 25
M | May 25
o | 2030-05-25T23:59:30.1234567+07:00
O | 2030-05-25T23:59:30.1234567+07:00
r | Sat, 25 May 2030 16:59:30 GMT
R | Sat, 25 May 2030 16:59:30 GMT
s | 2030-05-25T23:59:30
t | 23:59
T | 23:59:30
u | 2030-05-25 16:59:30Z
U | NULL
y | 2030 May
Y | 2030 May

Contoh 2 – Bahasa Inggris AS

DECLARE @date datetimeoffset, @culture char(5);
SET @date = '2030-05-25 23:59:30.1234567 +07:00';
SET @culture = 'en-us';
SELECT 
  FORMAT(@date, 'd', @culture) AS 'd',
  FORMAT(@date, 'D', @culture) AS 'D',
  FORMAT(@date, 'f', @culture) AS 'f',
  FORMAT(@date, 'F', @culture) AS 'F',
  FORMAT(@date, 'g', @culture) AS 'g',
  FORMAT(@date, 'G', @culture) AS 'G',
  FORMAT(@date, 'm', @culture) AS 'm',
  FORMAT(@date, 'M', @culture) AS 'M',
  FORMAT(@date, 'o', @culture) AS 'o',
  FORMAT(@date, 'O', @culture) AS 'O',
  FORMAT(@date, 'r', @culture) AS 'r',
  FORMAT(@date, 'R', @culture) AS 'R',
  FORMAT(@date, 's', @culture) AS 's',
  FORMAT(@date, 't', @culture) AS 't',
  FORMAT(@date, 'T', @culture) AS 'T',
  FORMAT(@date, 'u', @culture) AS 'u',
  FORMAT(@date, 'U', @culture) AS 'U',
  FORMAT(@date, 'y', @culture) AS 'y',
  FORMAT(@date, 'Y', @culture) AS 'Y';

Hasil (menggunakan keluaran vertikal):

d | 5/25/2030
D | Saturday, May 25, 2030
f | Saturday, May 25, 2030 11:59 PM
F | Saturday, May 25, 2030 11:59:30 PM
g | 5/25/2030 11:59 PM
G | 5/25/2030 11:59:30 PM
m | May 25
M | May 25
o | 2030-05-25T23:59:30.1234567+07:00
O | 2030-05-25T23:59:30.1234567+07:00
r | Sat, 25 May 2030 16:59:30 GMT
R | Sat, 25 May 2030 16:59:30 GMT
s | 2030-05-25T23:59:30
t | 11:59 PM
T | 11:59:30 PM
u | 2030-05-25 16:59:30Z
U | NULL
y | May 2030
Y | May 2030

Contoh 3 – Inggris

DECLARE @date datetimeoffset, @culture char(5);
SET @date = '2030-05-25 23:59:30.1234567 +07:00';
SET @culture = 'en-gb';
SELECT 
  FORMAT(@date, 'd', @culture) AS 'd',
  FORMAT(@date, 'D', @culture) AS 'D',
  FORMAT(@date, 'f', @culture) AS 'f',
  FORMAT(@date, 'F', @culture) AS 'F',
  FORMAT(@date, 'g', @culture) AS 'g',
  FORMAT(@date, 'G', @culture) AS 'G',
  FORMAT(@date, 'm', @culture) AS 'm',
  FORMAT(@date, 'M', @culture) AS 'M',
  FORMAT(@date, 'o', @culture) AS 'o',
  FORMAT(@date, 'O', @culture) AS 'O',
  FORMAT(@date, 'r', @culture) AS 'r',
  FORMAT(@date, 'R', @culture) AS 'R',
  FORMAT(@date, 's', @culture) AS 's',
  FORMAT(@date, 't', @culture) AS 't',
  FORMAT(@date, 'T', @culture) AS 'T',
  FORMAT(@date, 'u', @culture) AS 'u',
  FORMAT(@date, 'U', @culture) AS 'U',
  FORMAT(@date, 'y', @culture) AS 'y',
  FORMAT(@date, 'Y', @culture) AS 'Y';

Hasil (menggunakan keluaran vertikal):

d | 25/05/2030
D | 25 May 2030
f | 25 May 2030 23:59
F | 25 May 2030 23:59:30
g | 25/05/2030 23:59
G | 25/05/2030 23:59:30
m | 25 May
M | 25 May
o | 2030-05-25T23:59:30.1234567+07:00
O | 2030-05-25T23:59:30.1234567+07:00
r | Sat, 25 May 2030 16:59:30 GMT
R | Sat, 25 May 2030 16:59:30 GMT
s | 2030-05-25T23:59:30
t | 23:59
T | 23:59:30
u | 2030-05-25 16:59:30Z
U | NULL
y | May 2030
Y | May 2030

Contoh 4 – Jerman

DECLARE @date datetimeoffset, @culture char(2);
SET @date = '2030-05-25 23:59:30.1234567 +07:00';
SET @culture = 'de';
SELECT 
  FORMAT(@date, 'd', @culture) AS 'd',
  FORMAT(@date, 'D', @culture) AS 'D',
  FORMAT(@date, 'f', @culture) AS 'f',
  FORMAT(@date, 'F', @culture) AS 'F',
  FORMAT(@date, 'g', @culture) AS 'g',
  FORMAT(@date, 'G', @culture) AS 'G',
  FORMAT(@date, 'm', @culture) AS 'm',
  FORMAT(@date, 'M', @culture) AS 'M',
  FORMAT(@date, 'o', @culture) AS 'o',
  FORMAT(@date, 'O', @culture) AS 'O',
  FORMAT(@date, 'r', @culture) AS 'r',
  FORMAT(@date, 'R', @culture) AS 'R',
  FORMAT(@date, 's', @culture) AS 's',
  FORMAT(@date, 't', @culture) AS 't',
  FORMAT(@date, 'T', @culture) AS 'T',
  FORMAT(@date, 'u', @culture) AS 'u',
  FORMAT(@date, 'U', @culture) AS 'U',
  FORMAT(@date, 'y', @culture) AS 'y',
  FORMAT(@date, 'Y', @culture) AS 'Y';

Hasil (menggunakan keluaran vertikal):

d | 25.05.2030
D | Samstag, 25. Mai 2030
f | Samstag, 25. Mai 2030 23:59
F | Samstag, 25. Mai 2030 23:59:30
g | 25.05.2030 23:59
G | 25.05.2030 23:59:30
m | 25. Mai
M | 25. Mai
o | 2030-05-25T23:59:30.1234567+07:00
O | 2030-05-25T23:59:30.1234567+07:00
r | Sat, 25 May 2030 16:59:30 GMT
R | Sat, 25 May 2030 16:59:30 GMT
s | 2030-05-25T23:59:30
t | 23:59
T | 23:59:30
u | 2030-05-25 16:59:30Z
U | NULL
y | Mai 2030
Y | Mai 2030

Tabel berikut memberikan deskripsi untuk setiap string format.

DECLARE @thedatetimeoffset datetimeoffset = '2030-05-25 23:59:30.1234567 +12:15';

SELECT 
  FORMAT(@thedatetimeoffset, 'd') AS 'd (Short date)',
  FORMAT(@thedatetimeoffset, 'D') AS 'D (Long date)',
  FORMAT(@thedatetimeoffset, 'f') AS 'f (Full date/time - short time)',
  FORMAT(@thedatetimeoffset, 'F') AS 'F (Full date/time - long time)',
  FORMAT(@thedatetimeoffset, 'g') AS 'g (General date/time - short time)',
  FORMAT(@thedatetimeoffset, 'G') AS 'G (General date/time - long time)',
  FORMAT(@thedatetimeoffset, 'm') AS 'm (Month/day)',
  FORMAT(@thedatetimeoffset, 'M') AS 'M (Month/day)',
  FORMAT(@thedatetimeoffset, 'o') AS 'o (Round-trip date/time)',
  FORMAT(@thedatetimeoffset, 'O') AS 'O (Round-trip date/time)',
  FORMAT(@thedatetimeoffset, 'r') AS 'r (RFC1123)',
  FORMAT(@thedatetimeoffset, 'R') AS 'R (RFC1123)',
  FORMAT(@thedatetimeoffset, 's') AS 's (Sortable date/time)',
  FORMAT(@thedatetimeoffset, 't') AS 't (Short time)',
  FORMAT(@thedatetimeoffset, 'T') AS 'T (Long time)',
  FORMAT(@thedatetimeoffset, 'u') AS 'u (Universal sortable date/time)',
  FORMAT(@thedatetimeoffset, 'U') AS 'U (Universal full date/time)',
  FORMAT(@thedatetimeoffset, 'y') AS 'y (Year/month)',
  FORMAT(@thedatetimeoffset, 'Y') AS 'Y (Year/month)';

Hasil:

d (Short date)                     | 5/25/2030
D (Long date)                      | Saturday, May 25, 2030
f (Full date/time - short time)    | Saturday, May 25, 2030 11:59 PM
F (Full date/time - long time)     | Saturday, May 25, 2030 11:59:30 PM
g (General date/time - short time) | 5/25/2030 11:59 PM
G (General date/time - long time)  | 5/25/2030 11:59:30 PM
m (Month/day)                      | May 25
M (Month/day)                      | May 25
o (Round-trip date/time)           | 2030-05-25T23:59:30.1234567+12:15
O (Round-trip date/time)           | 2030-05-25T23:59:30.1234567+12:15
r (RFC1123)                        | Sat, 25 May 2030 11:44:30 GMT
R (RFC1123)                        | Sat, 25 May 2030 11:44:30 GMT
s (Sortable date/time)             | 2030-05-25T23:59:30
t (Short time)                     | 11:59 PM
T (Long time)                      | 11:59:30 PM
u (Universal sortable date/time)   | 2030-05-25 11:44:30Z
U (Universal full date/time)       | NULL
y (Year/month)                     | May 2030
Y (Year/month)                     | May 2030

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memeriksa apakah string adalah pengidentifikasi unik?

  2. Nilai kolom identitas tiba-tiba melompat ke 1001 di server sql

  3. Dapatkan Daftar Semua Kolom Null dan Bukan Null di Database SQL Server - Tutorial SQL Server / T-SQL Bagian 53

  4. Sisipan Massal SQL Server – Bagian 1

  5. Cara Mengotomatiskan Proses Sinkronisasi Skema Basis Data SQL Server