Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Database Azure
SQLInstans
Terkelola Azure SQLAzure Synapse Analytics
Sistem Platform Analitik (PDW)
Database SQL di Microsoft Fabric
Menentukan tanggal yang digabungkan dengan waktu hari. Waktu didasarkan pada hari 24 jam, dengan detik selalu nol (:00) dan tanpa detik pecahan.
Note
Gunakanwaktu
Deskripsi SmallDateTime
| Property | Value |
|---|---|
| Syntax | smalldatetime |
| Usage | DECLARE @MySmallDateTime SMALLDATETIME;CREATE TABLE Table1 (Column1 SMALLDATETIME); |
|
Format harfiah string default (digunakan untuk klien tingkat bawah) |
Tidak berlaku |
| Rentang tanggal |
1900-01-01 melalui 2079-06-061 Januari 1900, hingga 6 Juni 2079 |
| Rentang waktu |
00:00:00 melalui 23:59:592024-05-09 23:59:59 membulatkan ke 2024-05-10 00:00:00 |
| Rentang elemen |
yyyy adalah empat digit, mulai dari 1900 hingga 2079, yang mewakili setahun.MM adalah dua digit, mulai dari 01 hingga 12, yang mewakili sebulan dalam tahun yang ditentukan.dd adalah dua digit, mulai dari 01 hingga 31 tergantung pada bulan, yang mewakili hari dari bulan yang ditentukan.HH adalah dua digit, mulai dari 00 hingga 23, yang mewakili jam.mm adalah dua digit, mulai dari 00 hingga 59, yang mewakili menit.ss adalah dua digit, mulai dari 00 hingga 59, yang mewakili yang kedua. Nilai yang 29,998 detik atau kurang dibulatkan ke bawah ke menit terdekat. Nilai 29,999 detik atau lebih dibulatkan ke atas ke menit terdekat. |
| Panjang karakter | 19 posisi maksimum |
| Ukuran penyimpanan | 4 byte, tetap |
| Accuracy | Sebentar |
| Nilai bawaan | 1900-01-01 00:00:00 |
| Calendar | Gregorian (Tidak termasuk rentang lengkap tahun.) |
| presisi kedua pecahan yang ditentukan pengguna | No |
| Zona waktu mengimbangi sadar dan pelestarian | No |
| yang sadar akan siang hari | No |
Kepatuhan ANSI dan ISO 8601
smalldatetime tidak sesuai dengan ANSI atau ISO 8601.
Mengonversi data tanggal dan waktu
Saat Anda mengonversi ke jenis data tanggal dan waktu, SQL Server menolak semua nilai yang tidak dapat dikenali sebagai tanggal atau waktu. Untuk informasi tentang menggunakan fungsi CAST dan CONVERT dengan data tanggal dan waktu, lihat CAST dan CONVERT.
Mengonversi smalldatetime ke jenis tanggal dan waktu lainnya
Bagian ini menjelaskan apa yang terjadi ketika jenis data smalldatetime dikonversi ke jenis data tanggal dan waktu lainnya.
Untuk konversi hingga saat ini, tahun, bulan, dan hari disalin. Kode berikut menunjukkan hasil konversi nilai smalldatetime
DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';
DECLARE @date AS DATE = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime',
@date AS 'date';
Berikut adalah hasil yang ditetapkan.
@smalldatetime date
--------------------- ----------
1955-12-13 12:43:00 1955-12-13
Ketika konversi adalah untuk waktu(n), jam, menit, dan detik disalin. Detik pecahan diatur ke 0. Kode berikut menunjukkan hasil konversi nilai smalldatetime
DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';
DECLARE @time AS TIME (4) = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime',
@time AS 'time';
Berikut adalah hasil yang ditetapkan.
@smalldatetime time
----------------------- -------------
1955-12-13 12:43:00 12:43:00.0000
Saat konversi ke datetime, nilai smalldatetime disalin ke nilai tanggalwaktu. Detik pecahan diatur ke 0. Kode berikut menunjukkan hasil konversi nilai smalldatetime
DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';
DECLARE @datetime AS DATETIME = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime',
@datetime AS 'datetime';
Berikut adalah hasil yang ditetapkan.
@smalldatetime datetime
----------------------- -----------------------
1955-12-13 12:43:00 1955-12-13 12:43:00.000
Untuk konversi ke 0, dan offset zona waktu diatur ke +00:0. Kode berikut menunjukkan hasil konversi nilai smalldatetime
DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';
DECLARE @datetimeoffset AS DATETIMEOFFSET (4) = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime',
@datetimeoffset AS 'datetimeoffset(4)';
Berikut adalah hasil yang ditetapkan.
@smalldatetime datetimeoffset(4)
--------------------- ------------------------------
1955-12-13 12:43:00 1955-12-13 12:43:00.0000 +00:0
Untuk konversi ke datetime2(n), nilai smalldatetime disalin ke nilai datetime2(n ). Detik pecahan diatur ke 0. Kode berikut menunjukkan hasil konversi nilai smalldatetime
DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';
DECLARE @datetime2 AS DATETIME2 (4) = @smalldatetime;
SELECT @smalldatetime AS '@smalldatetime',
@datetime2 AS ' datetime2(4)';
Berikut adalah hasil yang ditetapkan.
@smalldatetime datetime2(4)
--------------------- ------------------------
1955-12-13 12:43:00 1955-12-13 12:43:00.0000
Examples
A. Memerankan literal string dengan detik ke smalldatetime
Contoh berikut membandingkan konversi detik dalam literal string dengan smalldatetime.
SELECT CAST ('2024-05-08 12:35:29' AS SMALLDATETIME),
CAST ('2024-05-08 12:35:30' AS SMALLDATETIME),
CAST ('2024-05-08 12:59:59.998' AS SMALLDATETIME);
| Input | Output |
|---|---|
2024-05-08 12:35:29 |
2024-05-08 12:35:00 |
2024-05-08 12:35:30 |
2024-05-08 12:36:00 |
2024-05-08 12:59:59.998 |
2024-05-08 13:00:00 |
B. Membandingkan jenis data tanggal dan waktu
Contoh berikut membandingkan hasil transmisi string dengan setiap jenis data tanggal dan waktu.
SELECT CAST ('2024-05-08 12:35:29.1234567 +12:15' AS TIME (7)) AS 'time',
CAST ('2024-05-08 12:35:29.1234567 +12:15' AS DATE) AS 'date',
CAST ('2024-05-08 12:35:29.123' AS SMALLDATETIME) AS 'smalldatetime',
CAST ('2024-05-08 12:35:29.123' AS DATETIME) AS 'datetime',
CAST ('2024-05-08 12:35:29.1234567 +12:15' AS DATETIME2 (7)) AS 'datetime2',
CAST ('2024-05-08 12:35:29.1234567 +12:15' AS DATETIMEOFFSET (7)) AS 'datetimeoffset';
| Jenis data | Output |
|---|---|
| time | 12:35:29.1234567 |
| date | 2024-05-08 |
| smalldatetime | 2024-05-08 12:35:00 |
| datetime | 2024-05-08 12:35:29.123 |
| datetime2 | 2024-05-08 12:35:29.1234567 |
| datetimeoffset | 2024-05-08 12:35:29.1234567 +12:15 |