Aracılığıyla paylaş


smalldatetime (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnalytics Platform Sistemi (PDW)Microsoft Fabric'te SQL Veritabanı

Günün saatiyle birleştirilmiş bir tarih tanımlar. Süre, saniyeler her zaman sıfır (:00) ve kesirli saniyeler olmadan 24 saatlik bir günü temel alır.

Note

saat, tarih, datetime2ve yeni çalışma için veri türleri datetimeoffset kullanın. Bu türler, daha taşınabilir olduklarından SQL standardıyla uyumludur. saat, datetime2 ve datetimeoffset daha fazla saniye duyarlığı sağlar. datetimeoffset, genel olarak dağıtılan uygulamalar için saat dilimi desteği sağlar.

Smalldatetime açıklaması

Property Value
Syntax smalldatetime
Usage DECLARE @MySmallDateTime SMALLDATETIME;

CREATE TABLE Table1 (Column1 SMALLDATETIME);
Varsayılan dize değişmez değerleri biçimleri
(alt düzey istemci için kullanılır)
Uygulanamaz
Tarih aralığı 1900-01-01 aracılığıyla 2079-06-06

1 Ocak 1900 ile 6 Haziran 2079 arasında
Zaman aralığı 00:00:00 aracılığıyla 23:59:59

2024-05-09 23:59:59 2024-05-10 00:00:00 yuvarlar
Öğe aralıkları yyyy, bir yılı temsil eden 1900 ile 2079 arasında değişen dört basamaktır.

MM, belirtilen yıldaki bir ayı temsil eden 01 ile 12 arasında iki basamaktır.

dd, belirtilen ayın gününü temsil eden aya bağlı olarak 01 ile 31 arasında değişen iki basamaktır.

HH, saati temsil eden 00 ile 23 arasında iki basamaktır.

mm, dakikayı temsil eden 00 ile 59 arasında iki basamaktır.

ss, ikinciyi temsil eden 00 ile 59 arasında iki basamaktır. 29,998 saniye veya daha az olan değerler en yakın dakikaya yuvarlanır. 29,999 saniye veya daha fazla değer en yakın dakikaya yuvarlanir.
Karakter uzunluğu En fazla 19 konum
Depolama boyutu 4 bayt, sabit
Accuracy Bir dakika
Varsayılan değer 1900-01-01 00:00:00
Calendar Gregorian

(Yılların tamamını içermez.)
kullanıcı tanımlı kesirli ikinci duyarlık No
Saat dilimi fark ve koruma No
Gün ışığından yararlanmaya duyarlı No

ANSI ve ISO 8601 uyumluluğu

smalldatetime ANSI veya ISO 8601 uyumlu değildir.

Tarih ve saat verilerini dönüştürme

Tarih ve saat veri türlerine dönüştürdüğünüzde SQL Server, tarih veya saat olarak tanıyamayan tüm değerleri reddeder. CAST ve CONVERT işlevlerini tarih ve saat verileriyle kullanma hakkında bilgi için bkz. CAST ve CONVERT.

Smalldatetime'ı diğer tarih ve saat türlerine dönüştürme

Bu bölümde, bir smalldatetime veri türü diğer tarih ve saat veri türlerine dönüştürüldüğünde ne olduğu açıklanmaktadır.

tarihe dönüştürme için yıl, ay ve gün kopyalanır. Aşağıdaki kod, smalldatetime değerini tarih değerine dönüştürmenin sonuçlarını gösterir.

DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';

DECLARE @date AS DATE = @smalldatetime;

SELECT @smalldatetime AS '@smalldatetime',
       @date AS 'date';

Sonuç kümesi aşağıdadır.

@smalldatetime        date
--------------------- ----------
1955-12-13 12:43:00   1955-12-13

Dönüştürmesaat (n) olduğunda, saatler, dakikalar ve saniyeler kopyalanır. Kesirli saniyeler 0olarak ayarlanır. Aşağıdaki kod, smalldatetime değerini saat(4) değerine dönüştürmenin sonuçlarını gösterir.

DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';

DECLARE @time AS TIME (4) = @smalldatetime;

SELECT @smalldatetime AS '@smalldatetime',
       @time AS 'time';

Sonuç kümesi aşağıdadır.

@smalldatetime          time
----------------------- -------------
1955-12-13 12:43:00     12:43:00.0000

Dönüştürme datetimeolduğunda, smalldatetime değeri datetime değerine kopyalanır. Kesirli saniyeler 0olarak ayarlanır. Aşağıdaki kod, smalldatetime değerini datetime değerine dönüştürmenin sonuçlarını gösterir.

DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';

DECLARE @datetime AS DATETIME = @smalldatetime;

SELECT @smalldatetime AS '@smalldatetime',
       @datetime AS 'datetime';

Sonuç kümesi aşağıdadır.

@smalldatetime          datetime
----------------------- -----------------------
1955-12-13 12:43:00     1955-12-13 12:43:00.000

datetimeoffset(n) dönüştürmesi için, smalldatetime değeri datetimeoffset(n) değerine kopyalanır. Kesirli saniyeler 0ve saat dilimi uzaklığı +00:0olarak ayarlanır. Aşağıdaki kod, smalldatetime değerini datetimeoffset(4) değerine dönüştürmenin sonuçlarını gösterir.

DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';

DECLARE @datetimeoffset AS DATETIMEOFFSET (4) = @smalldatetime;

SELECT @smalldatetime AS '@smalldatetime',
       @datetimeoffset AS 'datetimeoffset(4)';

Sonuç kümesi aşağıdadır.

@smalldatetime        datetimeoffset(4)
--------------------- ------------------------------
1955-12-13 12:43:00   1955-12-13 12:43:00.0000 +00:0

datetime2(n)dönüştürme için, smalldatetime değeri datetime2(n) değerine kopyalanır. Kesirli saniyeler 0olarak ayarlanır. Aşağıdaki kod, smalldatetime değerini datetime2(4) değerine dönüştürmenin sonuçlarını gösterir.

DECLARE @smalldatetime AS SMALLDATETIME = '1955-12-13 12:43:10';

DECLARE @datetime2 AS DATETIME2 (4) = @smalldatetime;

SELECT @smalldatetime AS '@smalldatetime',
       @datetime2 AS ' datetime2(4)';

Sonuç kümesi aşağıdadır.

@smalldatetime        datetime2(4)
--------------------- ------------------------
1955-12-13 12:43:00   1955-12-13 12:43:00.0000

Examples

A. Saniyelerle dize değişmez değerlerini smalldatetime değerine dönüştürme

Aşağıdaki örnek, dize değişmez değerlerindeki saniyelerin smalldatetimedönüştürülmesiyle karşılaştırır.

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. Tarih ve saat veri türlerini karşılaştırma

Aşağıdaki örnek, bir dizeyi her tarih ve saat veri türüne dönüştürmenin sonuçlarını karşılaştırır.

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';
Veri türü 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