Microsoft SQL Server Veri Tipleri
-

int : -2^31 (-2,147,483,648) ile 2^31-1 (2,147,483,647) arası'a sahiptir depolama boyutu 4 Bayt. int veri türü SQL Server uygulamasındaki ana tamsayı veri türüdür. bigint veri türü, tamsayı değerleri int veri türü tarafından desteklenen aralığı aştığında kullanılma amaçlıdır. Veri türü öncelik çizelgesinde bigint veri türü, smallmoney ile int arasındadır. İşlevler yalnızca parametre ifadesi bigint veri türünde olduğunda bigint döndürür. SQL Server diğer tamsayı veri türlerini (tinyint, smallint, ve int) otomatik olarak bigint veri türüne yükseltmez.
bigint : -2^63 (-9,223,372,036,854,775,808) ile 2^63-1 (9,223,372,036,854,775,807) aralığa sahiptir depolama boyutu 8 Bayt.
smallint : -2^15 (-32,768) ile 2^15-1 (32,767) aralığa sahiptir depolama boyutu 2 Bayt.
tinyint : 0 ile 255 aralığa sahiptir depolama boyutu 1 Bayt.

bit : 1, 0 Veya null değeri alabilir bir tamsayı veri türü. SQL Server Veritabanı AltyapısıDepolama optimize bit sütun. 8 Veya daha az ise bit sütunları bir tabloda sütunlar 1 bayt saklanan. 9 16'e kadar ise bit sütunları, sütun 2 bayt saklanır vb.. DOĞRU ve yanlış dize değerlerini dönüştürülebilir bit değerler: true 1 olarak dönüştürülür ve yanlış için 0 dönüştürülür. Bit dönüştürme 1 - 0 dışında bir değere yükseltir.
numeric : decimal ( p , s ) ve numeric(p,s) Sabit duyarlık ve ölçek sayıları. En fazla duyarlık kullanıldığında, geçerli değerler 10-vardır ^ 38 + 1 ile 10 ^ 38-1. ISO eşanlamlı için decimalolan decve dec(p, s). numeric işlevsel olarak eşdeğer olduğunu decimal. p (hassas) Maksimum toplam hem sol, hem de ondalık noktanın sağında depolanabilen ondalık basamak sayısı. Duyarlık 38 en büyük duyarlılık ile 1 arasında bir değer olmalıdır. Varsayılan duyarlık 18'dir. s (ölçek) Ondalık ayırıcının sağında depolanabilir ondalık basamak sayısı. Ölçek değeri 0 ile olması gerekir p. Ölçek, yalnızca duyarlık belirtildiğinde belirtilebilir. Varsayılan ölçek 0'dır; therefore, 0 <= s <= p. Maksimum depolama boyutları, üzerinde duyarlık göre değişir.
decimal : decimal ve numeric veri türleri, SQL Serverduyarlık ve ölçeği her belirli birleşimi farklı veri türü olarak görmektedir. Örneğin, decimal(5,5)ve decimal(5,0)veri türleri farklı düşünülür. De Transact-SQL ifadeler sabit bir ondalık noktası ile otomatik olarak dönüştürülür içine bir numeric veri değeri, en az duyarlık kullanarak ve gerekli ölçek. Örneğin, sabit 12.345 dönüştürülmüştür bir numeric değeri 5 bir duyarlık ve ölçek 3. Dönüştürme decimalveya numeric için float veya real hassas bazı kaybına neden olabilir. Converting from int, smallint, tinyint, float, real, money, or smallmoney to either decimal or numeric can cause overflow. Varsayılan olarak, SQL Serverbir sayıya dönüştürme sırasında yuvarlama kullanan bir decimal veya numeric değeri daha düşük bir duyarlık ve ölçeği ile. Ancak, eğer set ARITHABORT seçeneği on, SQL Server taşması oluştuğunda bir hata yükseltir. Duyarlık ve ölçeği kaybı bir hata yükseltmek için yeterli değildir. Dönüşüm float değerleri için bilimsel gösterim kullanan decimal veya numeric sadece 17 basamak duyarlığı değerlerine kısıtlanır. 17 basamaktan daha yüksek kesinliği olan değerler sıfıra yuvarlanır.


money : Para veya döviz değerlerini temsil eden veri türleri. smallmoney : money ve smallmoney veri türleri temsil ettikleri para birimlerinin on binde biri düzeyinde kesinliğe sahiptir. Kuruş gibi kısmi parasal birimleri tam parasal birimlerden ayırmak için nokta kullanın. Örneğin, 2.15 2 lira 15 kuruşu gösterir. money -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 aralığa sahiptir. depolama boyutu 8 Bayt. smallmoney - 214,748.3648 ile 214,748.3647 aralığa sahiptir. depolama boyutu 4 Bayt. Bu veri türleri aşağıdaki döviz simgelerinden herhangi birini kullanabilir.


float : Kayan nokta (float) sayısal verileri ile kullanmak için yaklaşık sayı veri türleri. float (Kayan nokta) veri yaklaşık; Bu nedenle, veri türü aralıktaki tüm değerleri tam olarak temsil edilebilir. float ( n ) Burada n, Mantis saklamak için kullanılan bit sayısı floatbilimsel gösterimde sayı ve bu nedenle, hassas ve depolama boyutunu belirler. Eğer nbelirtilirse, arasında bir değer olmalıdır 1 ve 53. Varsayılan değer olan nolan 53. 1-24 7 basamak 4 bayt  25-53 15 basamak 8 bayt depolama tutar. real : Dönüştürmek istediğinizde floatya realkarakter veri, str dize işlevini kullanarak genellikle daha döküm () yararlı. Bunun nedeni, str biçimlendirme üzerinde daha fazla denetim sağlar. float -.79E + 308-.23E-308, 0 ve.23E-.79E + 308 308 arasında  real - 1 - 38, 0 ve 1 3.40E + 38 - 38-3.40E + 38 arasında ve 4 bayt değere sahiptir. SQL Serverişler ngibi iki olası değerden birini. If 1<=n<=24, n is treated as 24. If 25<=n<=53, n is treated as 53. SQL Server   float(n)] Veri türü ile tüm değerleri ISO standardına uyumludur ndan 1 ile 53. Eşanlamlı double precisionolan float(53).




char : Sabit uzunlukta, Unicode olmayan dize verileri. n dize uzunluğunu tanımlar ve 1 ile 8.000 arasında bir değer olmalıdır. Depolama boyutu n bayttır. char sözcüğünün ISO eşanlamlısı character sözcüğüdür. varchar : [ ( n | max ) ] Değişken uzunlukta, Unicode olmayan dize verileri. n dize uzunluğunu tanımlar ve 1 ile 8.000 arasında bir değer olabilir. max en büyük depolama boyutunun 2^31-1 bayt (2 GB) olduğunu gösterir. Depolama boyutu, girilen verilerin gerçek uzunluğu + 2 bayttır. varchar sözcüğünün ISO eşanlamlıları char varying veya character varying sözcükleridir. Bir veri tanımı veya değişken bildirimi deyiminde n belirtilmediğinde, varsayılan uzunluk 1'dir. CAST ve CONVERT işlevleri kullanılırken n belirtilmediğinde varsayılan uzunluk 30'dur. COLLATE yan tümcesi kullanılarak belirli bir harmanlama atanmadıysa, char veya varchar kullanan nesnelere veritabanının varsayılan harmanlaması atanır. Harmanlama, karakter verilerinin depolanmasında kullanılan kod sayfasını denetler. Birden fazla dili destekleyen siteleriniz varsa, karakter dönüştürme sorunlarını en aza indirmek için nchar veya nvarchar Unicode veri türlerini kullanmayı düşünün. char veya varchar kullanıyorsanız, aşağıdakileri öneririz: Sütun verisi girişlerinin boyutları değişmiyorsa char kullanın. Sütun verisi girişlerinin boyutu önemli oranda değişkenlik gösteriyorsa, varchar kullanın. Sütun verisi girişlerinin boyutu önemli oranda değişkenlik gösteriyorsa ve boyut 8.000 baytı aşabilirse, varchar(max) kullanın. Bir karakter ifadesi başka bir veri türünde veya boyutta bir karakter ifadesine; örneğin char(5) türünden varchar(5) türüne ya da char(20) türünden char(15) türüne dönüştürüldüğünde, girdi değerinin harmanlaması dönüştürülen değere atanır. Karakter türünde olmayan bir ifade bir karakter veri türüne dönüştürülürse, geçerli veritabanının varsayılan harmanlaması dönüştürülen değere atanır. Her durumda COLLATE yan tümcesini kullanarak belirli bir harmanlama atayabilirsiniz. Kod sayfası çevirileri char ve varchar veri türleri için desteklenir, text veri türü için desteklenmez. SQL Server'ın önceki sürümlerinde olduğu gibi kod sayfası çevirme sırasında oluşan veri kayıpları bildirilmez.



ntext : Değişken uzunlukta Unicode veri en fazla dize uzunluğu 2 ile ^ 30-1 (1,073,741,823) bayt. Depolama boyutu, bayt cinsinden girilen iki kez dize uzunluğudur. ISO eşanlamlı ntextolan national text. text : Değişken uzunlukta Unicode veri sunucusu ve en fazla dize uzunluğu 2 ile kod sayfası ^ 31-1 (2.147.483.647). Sunucu kod sayfasını çift baytlı karakterler kullandığında, hala 2,147,483,647 bayt depolamadır. Karakter dizesi bağlı depolama boyutu az 2,147,483,647 bayt olabilir. image : Değişken uzunlukta ikili veri 0 ile 2 ^ 31-1 (2.147.483.647) bayt. ntext , text, ve imageveri türleri, gelecekteki bir sürümüne kaldırılacak Microsoft SQL Server. Yeni geliştirme işlerinde bu veri türlerini kullanmaktan kaçının ve bunları kullanmakta olan uygulamaları değiştirmek için plan yapın. Kullanım nvarchar(max), varchar(max), ve varbinary(max) onun yerine. Büyük olmayan-Unicode ve Unicode karakter ve ikili veri depolamak için sabit ve değişken uzunluklu veri türleri. Unicode veri UNICODE ucs-2 karakter kümesini kullanır.
nchar : [ ( n ) ] Sabit uzunluktaki Unicode dize verileri. n dize uzunluğunu tanımlar ve 1 ile 4.000 arasında bir değer olmalıdır. Depolama boyutu iki çarpı n bayttır. Harmanlama kod sayfası çift bayt karakterler kullandığında, depolama boyutu hala n bayttır. Dizeye bağlı olarak n baytlık depolama boyutu n için belirtilen değerden az olabilir. nchar için ISO eşanlamlıları national char ve national character. sözcükleridir. nvarchar : [ ( n | max ) ] Değişken uzunluktaki Unicode dize verileri. n dize uzunluğunu tanımlar ve 1 ile 4.000 arasında bir değer olabilir. max en büyük depolama boyutunun 2^31-1 bayt (2 GB) olduğunu gösterir. Bayt olarak depolama boyutu, girilen gerçek veri uzunluğunun iki katı + 2 bayttır. nvarchar için ISO eşanlamlıları national char varying ve national character varying sözcükleridir. Bir veri tanımı veya değişken bildirimi deyiminde n belirtilmediğinde, varsayılan uzunluk 1'dir. n CAST işlevi ile belirtilmediğinde, varsayılan uzunluk 30'dur. Sütun verisi girişi boyutlarının benzer olması olasıysa nchar türünü kullanın. Sütun verisi girişi boyutlarının önemli oranda değişken olması olasıysa nvarchar türünü kullanın. sysname , sistem tarafından sağlanan, null değer kullanılamaması dışında işlevsel olarak nvarchar(128) türüne denk olan kullanıcı tanımlı bir veri türüdür. sysname , veritabanı nesne adlarına başvurmak için kullanılır. COLLATE yan tümcesi kullanılarak belirli bir harmanlama atanmadıysa, nchar veya nvarchar kullanan nesnelere veritabanının varsayılan harmanlaması atanır. SET ANSI_PADDING, nchar ve nvarchar için her zaman ON durumundadır. SET ANSI_PADDING OFF, nchar veya nvarchar veri türleri için geçerli değildir.



date : Varsayılan dize hazır bilgi biçimi (aşağı düzey istemci için kullanılır) YYYY-AA-GG 0001-01-01 ile 9999-12-31 arası 1 Ocak 1 a.d. Aralık 31, 9999 m.s. yyyy 0001 gelen dört basamaklı bir yıl temsil 9999 olur. mm belirtilen yıldaki ay gösteren 12 01 iki basamaktan oluşur. dd, belirtilen ayın gününü gösteren ay, bağlı 31 01-iki basamaktan oluşur. Karakter uzunluğu 10 pozisyon. Duyarlık, ölçek  10, 0  Depolama boyutu 3 Bayt sabit. Depolama yapısı 1, 3-bayt tamsayı tarihini depolar. Kesinlik Bir gün.  Varsayılan değer 1900-01-01 Bu değer eklenmiş Tarih Bölümü örtük dönüştürme için kullanılan time için datetime2 veya datetimeoffset. Takvim Gregoryen. Kullanıcı tanımlı kesirli saniye kesinliği Hayır Saat dilimi uzaklığı uyumluluğu ve koruması yoktur. Yaz saati uygulaması uyumluluğu yoktur. 
Desteklenen tarih biçimleri (formatları)  [m] m, GG ve [yy] yy temsil ay, gün ve yıl içinde bir dize ile eğik çizgi işareti (/), tire (-) veya ayırıcısı olarak nokta (.). Sadece dört veya iki basamaklı yıl desteklenir. Dört basamaklı yıl mümkün olduğunda kullanın. Dört basamaklı yıl olarak iki basamaklı yılları yorumlamak için kesme yılı gösteren tamsayı 0001 den 9999 belirtmek için kullanın Yapılandırma iki basamaklı yıl kesme sunucu yapılandırma seçeneği. Aynı yüzyılda kesme yıl olarak bir iki basamaklı yıl kesme yılın son iki basamağını eşit veya daha az ise. Yüzyılda kesme bir yıl önce gelen bir iki basamaklı yıl kesme yılın son iki basamağını büyük olduğunu. Örneğin, iki basamaklı yıl kesme 2049 varsayılan ise, iki basamaklı yıl 49 2049 ve 50 1950 yorumlanan iki basamaklı yıl olarak yorumlanır. Varsayılan tarih biçimi, geçerli dil ayarı tarafından belirlenir. Tarih biçimini kullanarak değiştirebileceğiniz Dil ve set dateformat deyimleri. ydm Biçimi desteklenmiyor date.
mdy                         
[m] m/dd/yy [yy]       
[m] m - dd-[yy] yy       
[m]m.dd.[yy] yy       
MYD                         
mm / [yy] yy/GG       
mm-[yy] yy/GG       
[m. [yy] yy.dd m]       
Gay                         
dd / [m] m / [yy] yy       
dd-[m] m [yy] yy       
gg [m] m. [yy] yy       
dym                         
gg / yy [yy] / [m] m       
dd-[yy] yy-[m] m       
gg [yy] yy.[m] m       
Yag                         
[yy] yy / [m] m/GG       
[yy] yy-[m] m-dd       
[yy] yy-[m] m-dd       

mon tam ay adını veya geçerli dilde verilen ayın kısaltmasını temsil eder. Virgül isteğe bağlıdır ve büyük harf sayılır. Belirsizlikten kaçınmak için dört rakamlı yıllar kullanın. Ayın ilk günü, gün eksik varsa sağlanır.

Sun [GG] [,] yyyy      
Pzt dd] [yy] yy      
Sun yyyy [GG]          
[GG] mon] yyyy      
DD Sun [,] [yy] yy       
gg [yy] yy Sun         
[GG] yyyy Sun         
yyyy Sun [GG]         
YYYY [GG] Thu          
YYYY-AA-GG     
DD 
             
sql standardına ile aynıdır. Bu uluslararası bir standart tanımlanan tek biçimidir.

yyaagg [yy]            
YYYY [mm] [GG]  
       
 
tarih Verileri, dört, altı veya sekiz basamaklı belirtilebilir. Altı veya sekiz haneli dize her zaman yorumlanır ymd. Ay ve gün her zaman iki basamak olmalıdır. Dört basamaklı dize yıl olarak yorumlanır.
{d 'yyyy-aa-gg' }   
 
 
Belirli odbc API.  SQL Server 2012 SQL Server 2005 gibi.

YYYY-mm-ddTZD   
 
   
Özellikle xml ve soap kullanım için desteklenir. tzd olan saat dilimi göstergesi (z veya + SS: dd veya - hh: mm): SS: dd Saat dilimi uzaklığı temsil eder. hh 14 Saat Saat dilimi uzaklığı sayısını temsil eden 0 arasında değişen iki basamağıdır. Ek saat dilimi uzaklığı dakika sayısını temsil eden 59 için 0 arasında değişen iki basamak, AA olur. + (artı) veya -(eksi) saat dilimi uzaklığı zorunlu işareti. Bu saat dilimi uzaklığı eklendi veya Eşgüdümlü Evrensel Zaman (utc) Zaman zaman Yerel Saat edinmek için düşülen belirtir. Geçerli saat dilimi uzaklığı -14 aralığı: + 14 00: 00.
date ANSI sql standardında Gregoryen takvimi ile uyumludur: "Not 85 - Datetime veri türleri tarihleri Gregoryen biçiminde Tarih aralığı 0001–01–01 ce 0001–01–01 ce aracılığıyla depolanmasını sağlayacak." Aşağı düzey istemciler için kullanılan varsayılan dize hazır bilgi biçimi yyyy-AA-GG tanımlanan sql standart form ile uyumludur Bu biçim, Tarih ISO 8601 tanımı aynıdır.
time : 12:35:29. 1234567
date : 2007-05-08
smalldatetime : 2007-05-08 12:35:00
datetime : 2007-05-08 12:35:29.123
datetime2 : 2007-05-08 12:35:29. 1234567
datetimeoffset : 2007-05-08 12:35:29.1234567 +12:15


datetimeoffset  Saat dilimi bilinci ve 24 saatlik temel bir gün bir zaman ile birlikte tarihi tanımlar.
Sözdizimi datetimeoffset [ (fractional seconds precision) ]
Kullanım  declare @ MyDatetimeoffsetdatetimeoffset(7)
create table Table1 (Sütun1 datetimeoffset(7))
Varsayılan dize hazır bilgi biçimleri (alt düzey istemci kullanılır) yyyy-AA-GG: SS [. nnnnnnn] [{+ |-} ss: DD]
Daha fazla bilgi için bkz: alt düzey istemciler için "geriye dönük uyumluluğu" izleyen bölümde.
Tarih aralığı 0001-01-01 ile 9999-12-31 arası Ocak 1,1 a.d. Aralık 31, 9999 m.s.
Saat aralığı 00:00:00 ile 23:59:59.9999999 arası
Saat dilimi uzaklığı aralığı -14: 00'dan + 14: 00
Öğe aralıkları yyyy 0001 bir yıl temsil 9999 arasında değişen dört basamağıdır.
MM, 01 ile 12 arasında değişen, belirtilen yılın bir ayını temsil eden iki rakamdır.
DD, aya bağlı olarak 01 ile 31 arasında değişen, belirtilen ayın bir gününü temsil eden iki rakamdır.
hh, 00 ile 23 arasında değişen, saati temsil eden iki rakamdır.
mm, 00 ile 59 arasında değişen, dakikayı temsil eden iki rakamdır.
ss, 00 ile 59 arasında değişen, saniyeyi temsil eden iki rakamdır.
n * Kesirli saniye temsil 9999999 için 0 arasında değişen yedi basamak sıfırdır.
hh-14 + 14 için aralığı iki basamaktan oluşur.
mm 00 59 aralığını iki basamaktan oluşur.
Karakter uzunluğu 26 pozisyonları en az (yyyy-AA-GG: SS {+ |-} SS: DD) için en fazla 34 (yyyy-AA-GG SS. nnnnnnn {+ |-} SS: DD)

Depolama boyutu Sabit 10 bayt ile 100ns kesirli ikinci duyarlık varsayılan varsayılandır.
Kesinlik 100 nanosaniye şeklindedir
Varsayılan değer 1900-01-01 00:00:00 00:00
Takvim Gregoryen
Kullanıcı tanımlı kesirli saniye kesinliği Evet
Saat dilimi uzaklığı uyumluluğu ve koruması Evet
Yaz saati uygulaması uyumluluğu Hayır

yyyy-mm-ddThh [. nnnnnnn] [{+ |-} ss: DD] Bu iki biçim, set language ve set dateformat oturum yerel ayarlar tarafından etkilenmez.
Alanlarda arasında izin verilir datetimeoffset ve datetime parçalar.
yyyy-mm-ddThh [. nnnnnnn] z (utc) Bu biçim tarafından ISO tanımı gösterir datetime bölümü Eşgüdümlü Evrensel Saat (utc) ifade.
Örneğin 1999-12-12 12:30:30.12345-07: 00 1999-12-12 19:30:30.12345Z temsil.

Saat Dilimi Uzaklığı
Bölge ofset için utc Saat dilimi uzaklığı belirtir bir timeya datetimedeğer. Saat dilimi uzaklığı olarak temsil edilebilir [+ |-] SS: dd:
HH Saat Saat dilimi uzaklığı temsil ve 14 00 aralığı iki basamaktan oluşur.
Ek saat dilimi uzaklığı dakika sayısını temsil eden 59 için 00 arasında değişen iki basamak, AA olur.
+ (artı) veya -(eksi) ise bir saat dilimi uzaklığı zorunlu işareti. Bu saat dilimi uzaklığı eklendi veya Yerel Saat edinmek için utc zaman düşülen olup olmadığını gösterir. Geçerli saat dilimi uzaklığı -14 aralığı: + 14 00: 00. Saat dilimi mahsup aralığı xsd şema tanımı W3C xml standardına izler ve sql 2003 standart tanımı, 12: 59 + 14 için biraz farklıdır: 00. İsteğe bağlı tür parametresi fractional seconds precisionsaniyeyi kesirli kısmı için basamak sayısını belirtir. Bu değer 0 ile 7 (100 nanosaniye şeklindedir) bir tamsayı olabilir. Varsayılan fractional seconds precision100ns olduğunu (saniyeyi kesirli bölümü için yedi basamaklı). Verileri veritabanında depolanan ve işlenen karşılaştırıldığında, sıralama ve utc olarak Server dizin. Saat dilimi uzaklığı, alma için veritabanında korunur. Verilen saat dilimi uzaklığı gün ışığından yararlanma saati (dst) farkında ve ayarlanmış herhangi verilen olarak kabul datetimeyani dst dönem. İçin datetimeoffset yazın, utc ve yerel (için kalıcı veya dönüştürülmüş Saat dilimi uzaklığı) datetimedeğeri doğrulanmış INSERT, update, aritmetik, dönüştürme veya atama işlemleri sırasında. Algılanmasını geçersiz utc veya yerel (için kalıcı veya dönüştürülmüş Saat dilimi uzaklığı) datetimedeğeri geçersiz değer hata yükseltmek. Örneğin, 9999-12-31 10: 10: 00 utc, ama + 13 saat dilimi uzaklığı yerel saate taşması geçerli: 50.



datetime2 : 24 Saatlik temel Saat ile birlikte tarihi tanımlar. datetime2 mevcut bir uzantısı olarak kabul edilebilir datetime daha geniş bir tarih aralığı, daha büyük varsayılan kesirli duyarlık ve isteğe bağlı kullanıcı tanımlı duyarlık türü.
Sözdizimi  datetime2 [ (fractional seconds precision)
Kullanım declare @ MyDatetime2datetime2(7)
create table Table1 (Sütun1 datetime2(7) )
Varsayılan dize hazır bilgi biçimi (aşağı düzey istemci için kullanılır)
yyyy-AA-GG: SS [.fractional saniye]
Tarih aralığı 0001-01-01 ile 9999-12-31 arası Ocak 1,1 31 Aralık 9999 ad üzerinden 
Saat aralığı 00:00:00 ile 23:59:59.9999999 arası
Saat dilimi uzaklığı aralığı Hiçbiri
Öğe aralıkları yyyy bir yıl gösteren 0001 9999 arasında değişen bir dört basamaklı numarasıdır.
mm olduğu belirtilen yıldaki ay gösteren 01 ile 12'ye kadar bir iki basamaklı sayı olarak.
GG 01 ile belirtilen ayın gününü gösteren ay, bağlı 31 arasında değişen bir iki basamaklı sayı olduğunu.
hh saat temsil 23 için 00 arasında değişen bir iki basamaklı sayı, oluşur.
dakikayı gösteren 59 için 00 arasında değişen bir iki basamaklı sayı, AA olur.
SS ise ikinci temsil 59 için 00 arasında değişen bir iki basamaklı bir sayıdır.
n * Kesirli saniye temsil eden bir sıfır için yedi basamaklı 0 ile 9999999 sayıdır.

Karakter uzunluğu 19 pozisyonları en az (yyyy-AA-GG: SS) için en fazla 27 (yyyy-AA-GG hh:mm:ss.0000000)
Duyarlık, ölçek 0-7 basamak, ile 100ns doğruluk. Varsayılan duyarlık 7 basamak olduğunu.
Depolama boyutu 3 daha az duyarlılıklar için 6 bayt; 7 bayt için duyarlılıklar 3 ve 4. Tüm diğer duyarlılıklar 8 bayt gerektirir.
Kesinlik 100 nanosaniye şeklindedir
Varsayılan değer 1900-01-01 00:00:00
Takvim Gregoryen
Kullanıcı tanımlı kesirli saniye kesinliği Evet
Saat dilimi uzaklığı uyumluluğu ve koruması Hayır
Yaz saati uygulaması uyumluluğu Hayır



yyyy-mm-ddThh [. nnnnnnn] yyyy-mm-ddThh [. nnnnnnn]
Bu biçim, set language ve set dateformat oturum yerel ayarlar tarafından etkilenmez. T , İki nokta üst üste (:) ve nokta (.)
- dize hazır bilgi, örneğin ' 2007 dahil-05-02T19:58:47.1234567'.


{ts 'yyyy-aa-gg: SS [.fractional saniye]' }
Belirli odbc API:
Kesirli saniye temsil eden, ondalık virgülün sağındaki basamak sayısı 0-7 (100 nanosaniye şeklindedir) yukarı belirtilebilir.
De SQL Server 2012, uyumluluk düzeyi için 10, ayarlanan literal dahili olarak yeni eşler timetürü.


smalldatetime : Günün bir saati ile birleştirilmiş bir tarih tanımlar. Zaman 24 saatlik bir günü temel alır, saniyeler her zaman sıfırdır (:00) ve kesirli saniye yoktur. smalldatetime ANSI veya ISO 8601 uyumlu değildir
Sözdizimi smalldatetime
Kullanım DECLARE @MySmalldatetime smalldatetime
CREATE TABLE Tablo1 ( Sütun1 smalldatetime )
Varsayılan dize hazır değeri biçimleri Geçerli değildir
Tarih aralığı 1900-01-01 ile 2079-06-06 arası 1 Ocak 1900 ile 6 Haziran 2079
Saat aralığı 00:00:00 ile 23:59:59 arası 2007-05-09 23:59:59 şu değere yuvarlanır: 2007-05-10 00:00:00
Öğe aralıkları YYYY, 1900 ile 2079 arasında değişen, bir yılı temsil eden dört rakamdır.
MM, 01 ile 12 arasında değişen, belirtilen yılın bir ayını temsil eden iki rakamdır.
DD, aya bağlı olarak 01 ile 31 arasında değişen, belirtilen ayın bir gününü temsil eden iki rakamdır.
hh, 00 ile 23 arasında değişen, saati temsil eden iki rakamdır.
mm, 00 ile 59 arasında değişen, dakikayı temsil eden iki rakamdır.
ss, 00 ile 59 arasında değişen, saniyeyi temsil eden iki rakamdır.
29,998 saniye veya daha düşük olan değerler bir önceki en yakın dakikaya,
29,999 saniye veya daha büyük olan değerler bir sonraki en yakın dakikaya yuvarlanır.
Karakter uzunluğu En çok 19 hane
Depolama boyutu 4 bayt, sabit.
Kesinlik Bir dakika
Varsayılan değer 1900-01-01 00:00:00
Takvim Gregoryen (Tam yıl aralıklarını içermez.)
Kullanıcı tanımlı kesirli saniye kesinliği Hayır
Saat dilimi uzaklığı uyumluluğu ve koruması Hayır
Yaz saati uygulaması uyumluluğu Hayır



datetime : Günün bir saatini 24 saatlik temel kesirli saniye ile birlikte tarihi tanımlar.

Sözdizimi datetime
Kullanım declare @ MyDatetimedatetime
create table Table1 (Sütun1 datetime)
Varsayılan dize hazır değeri biçimleri Geçerli değildir
Tarih aralığı 1 Ocak 1753, ile 31 Aralık 9999
Saat aralığı 00:00:00 ile 23:59:59.997 arası
Saat dilimi uzaklığı aralığı Hiçbiri
Öğe aralıkları yyyy dört basamaklı bir yıl temsil 9999 aracılığıyla 1753 gelen olur.
MM, 01 ile 12 arasında değişen, belirtilen yılın bir ayını temsil eden iki rakamdır.
DD, aya bağlı olarak 01 ile 31 arasında değişen, belirtilen ayın bir gününü temsil eden iki rakamdır.
hh, 00 ile 23 arasında değişen, saati temsil eden iki rakamdır.
mm, 00 ile 59 arasında değişen, dakikayı temsil eden iki rakamdır.
ss, 00 ile 59 arasında değişen, saniyeyi temsil eden iki rakamdır.
n * Kesirli saniye temsil 999 için 0 arasında değişen üç basamak sıfırdır.
Karakter uzunluğu 19 pozisyonları en az 23 maksimum
Depolama boyutu 8 bayt
Kesinlik .000,.003 Ya da.007 saniye artışlarla yuvarlak
Varsayılan değer 1900-01-01 00:00:00
Takvim Gregoryen (tam yıl aralığını içermez.)
Kullanıcı tanımlı kesirli saniye kesinliği Hayır
Saat dilimi uzaklığı uyumluluğu ve koruması Hayır
Yaz saati uygulaması uyumluluğu Hayır


Tarih biçimleri:
[0] 4/15 / [19] 96--(AGY)
[0] 4 - 15-[19] 96--(AGY)
[0] 4,15.[19] 96--(AGY)
[0] 4 / [19] 96/15--(myd)
15 / [0] 4 / [19] 96--(gay)
15 / [19] 96 / [0] 4--(dym)
[19] 96/15 / [0] 4--(ydm)
[19] 96 / [0] 4/15--(YAG)
Saat biçimleri:
14:30
14:30[:20:999]
14:30[:20.9]
4 am
4 PM
Tarih verileri belirtilen sayısal bir ayda ile belirtebilirsiniz. Örneğin, 5/20/97, Mayıs 1997 yirminci günü temsil eder.
Sayısal Tarih biçimini kullandığınızda, bir dize kullanır işareti (/), tire (-) veya ayırıcısı olarak nokta (.) eğik çizgi ay,
gün ve yılı belirtin. Bu dize, aşağıdaki formda görünmesi gerekir:
numara ayırıcısı numara ayırıcısı numbertime] [time[]
Dil ayarlandığında us_english, AGY Tarih varsayılan sırasını olduğunu.
Sen-ebilmek değişmek tarih sırası kullanılarak set dateformat deyimi.
set dateformat ayarı, tarih değerlerini nasıl yorumlandığını belirler.
Sırası ayarı eşleşmezse, değerleri tarih olarak, çünkü onlar aralık dışında veya değerleri yanlış yorumlandığını yorumlanır değil.
Örneğin, 12/10/08 dateformat ayarı bağlı altı tarihleri biri olarak yorumlanabilir. Bir dört yıl yıl olarak yorumlanır.





Nis [il] [15] [,] 1996
Nis [il] 15] [19] 96
Nis [il] 1996 [15]
[15] Nis [il] [,] 1996
15 Nis [il] [,] [19] 96
15 [19] 96 Nis [il]
[15] 1996 Nis [il]
1996 NİS [IL] [15]
[15] 1996 NİS [IL]
Bir ay tam ay adı olarak belirtilen tarih verileri belirtebilirsiniz.
Örneğin, Nisan ya da geçerli dil içinde belirtilen Mar ay kısaltması; virgül isteğe bağlıdır ve büyük harf sayılır.
İşte alfabetik tarih biçimleri kullanmak için bazı kurallar vardır:
Tarih ve Saat veri tek tırnak işaretleri (') içine alın. İngilizce dışındaki diller için kullanın n'
Köşeli ayraç içine alınmış karakterlerden isteğe bağlıdır.
Yılın son iki basamağını belirtirseniz, değeri son iki basamağını daha az değer Yapılandırma iki basamaklı yıl-
kesme sunucu yapılandırma seçeneğiyapılandırma seçeneği vardır aynı yüzyılda kesme yıl.
Büyük veya bu değere eşit kesme bir yıl önce gelen yüzyılda değerlerdir. Örneğin,
eğer iki basamaklı yıl kesme 2050 (varsayılan), ise 25 2025 yorumlandığını ve 50 yorumlandığını 1950.
Belirsizlikten kaçınmak için dört rakamlı yıllar kullanın.
Ayın ilk günü, gün eksik varsa sağlanır.
Ayın alfabetik formunda belirttiğinizde set dateformat oturum ayarı uygulanmaz.



yyyy-mm-ddThh [.mmm]
DD [: SS [.mmm]]
Örnekler:
2004-05-23T14:25:10
2004-05-23T14:25:10.487
ISO 8601 biçiminde kullanmak için her öğenin biçiminde belirtmeniz gerekir.
Bu da içerir T, iki nokta üst üste (:) ve nokta (.) biçiminde gösterilir.
Köşeli ayraçları ikinci bileşeni kısmını isteğe bağlı olduğunu belirtir. 24 Saatlik biçimde Saat bileşeni belirtildi.
t saat kısmını gösterir datetimedeğer.
ISO 8601 format kullanmanın avantajı, uluslararası bir standart belirsizliği belirtimiyle olmasıdır.
Ayrıca bu biçim tarafından set dateformat etkilenmez veya Dil ayar.



{ts ' 1998-05-02 01:23:56.123' }
{d ' 1990-10-02' }
{t ' 13: 33:41' }
odbc API odbc zaman damgası veri aramaları Tarih ve saat değerleri temsil etmek için çıkış sıralarını tanımlar.
Bu odbc zaman damgası biçimi de desteklediği ole db dil tanımı (DBGUID-sql) tarafından desteklenen
Microsoftiçin ole db sağlayıcısı SQL Server. ado, ole db ve odbc tabanlı API'leri kullanan uygulamalar
bu odbc zaman damgası biçimi tarihleri ve saatleri temsil etmek için kullanabilirsiniz.
odbc zaman damgası çıkış sıralarını olan biçimi: { literal_type'constant_value' }:
literal_typeçıkış sırasını belirtir. Zaman damgaları var üç literal_typebelirleyicileri:
d = yalnızca tarihi
t = zaman sadece
TS = zaman damgası (time + tarihi)
'constant_value' çıkış sırası değeridir. constant_valueBu biçimler için izlemeniz gereken literal_type.




time : Bir gün bir zaman tanımlar. Zaman zaman dilimi bilinç olmadan ve 24 saatlik dayanmaktadır.

Sözdizimi time [ (fractional second precision) ]
Kullanım declare @ MyTimetime(7)
create table Table1 (Sütun1 time(7))
fractional seconds precision Saniyeyi kesirli kısmı için basamak sayısını belirtir.
Bu 7 ile 0 arasında bir tamsayı olabilir.
Varsayılan kesirli duyarlık 7 (100ns)'dir.
Varsayılan dize hazır bilgi biçimi : dd: SS [. nnnnnnn] Aralık 00:00:00.0000000 ile 23:59:59.9999999 arası
Öğe aralıkları hh, 0 ile 23 arasında değişen, saati temsil eden iki rakamdır.
mm, 0 ile 59 arasında değişen, dakikayı temsil eden iki rakamdır.
ss, 0 ile 59 arasında değişen, saniyeyi temsil eden iki rakamdır.
n * Kesirli saniye temsil 9999999 için 0 arasında değişen yedi basamak sıfırdır.
Karakter uzunluğu 8 pozisyonları en az (SS) için en fazla 16 (SS. nnnnnnn)
Depolama boyutu Sabit, 5 bayt ile 100ns kesirli ikinci duyarlık varsayılan varsayılandır.
Kesinlik 100 nanosaniye şeklindedir
Varsayılan değer 00:00:00
Bu değer eklenmiş saat bölümü örtük dönüştürme için kullanılan dateiçin datetime2 veya datetimeoffset.
Kullanıcı tanımlı kesirli saniye kesinliği Evet
Saat dilimi uzaklığı uyumluluğu ve koruması Hayır
Yaz saati uygulaması uyumluluğu Hayır


SS: dd [: ss] [: Kesirli saniye] [am] [pm]
SS: dd [: ss] [.fractional saniye] [am] [pm]
hhAM [pm]
SS am [pm]
am 0 temsil after midnight (PM), ne olursa olsun Saat Saat değeri belirtilir.
pm 0 saat eşit olduğunda belirtilemez.
Ne am ya da pm belirtilirse Saat değerleri üzerinden 11 01 öğleden önce Saat temsil eder.
Öğleden önce saat değerleri temsil zaman am belirtilir. pm belirtilirse, öğleden sonra saat değerleri temsil eder.
Saat değeri 12 am ya da pm belirtilirse, öğle saatlerinde başlayan Saat temsil eder.
Eğer am belirtilirse, gece yarısı başlayan Saat temsil eder. pm belirtilirse, öğle saatlerinde başlar Saat temsil eder.
Örneğin, 12: 01 pm olarak 1201: 1 dakika sonra öğlen, olmasıdır; ve bir dakika sonra gece yarısı-
12: 01 am. 12: 01 am belirterek 0001: ya da 00: 01 am belirterek aynıdır.
am veya pm belirtilmezse, öğleden sonra saat 13-23 Saat değerleri temsil eder.
Değerleri de am ne zaman belirtilen öğleden sonra Saat temsil eder. am 13-23 Saat değeri olduğunda belirtilemez.
Bir 24 Saat değeri geçerli değil. Gece yarısı temsil etmek için 12: 00 am veya 00: 00 kullanın.
Milisaniye ya da üste öncesinde (:) veya nokta (.). İki nokta kullanılırsa, sayı binde duyarlığıyla--in-a-ikinci anlamına gelir.
Bir süre kullanılırsa, onda--in-a-ikinci bir basamak anlamına gelir, iki basamak salise--in-a-ikinci demek ve-
binde duyarlığıyla--in-a-ikinci üç basamak demek. Örneğin, 20 12:30:20:1 gösterir ve-
-binde saniye geçmiş 12: 30; 12:30:20.1 20 gösterir ve onda biri saniye geçmiş 12: 30.



SS 
hh 14 Saat Saat dilimi uzaklığı sayısını temsil eden 0 arasında değişen iki basamağıdır.
SS: dd [: ss] [.fractional saniye] Ek saat dilimi uzaklığı dakika sayısını temsil eden 59 için 0
arasında değişen iki basamak, AA olur.




binary : [ ( n ) ] Sabit uzunlukta ikili veri uzunluğu ile nbayt, nerede n1 8.000 ile değer. Depolama boyutu nbayt. varbinary : [ ( n | max) ] Değişken uzunlukta ikili veri. n8.000 ile 1 arasında bir değer olabilir. max gösteren maksimum depolama ölçüsü 2 ^ 31-1 bayt. Depolama boyutu, girilen verilerin gerçek uzunluğu + 2 bayttır. Girilen veri, 0 bayt uzunluğunda olabilir. ANSI sql eşanlamlı varbinaryolan ikili değişen. Ne zaman nbelirtilen bir veri tanımı ya da değişken bildiriminde deyimi, varsayılan uzunluğu 1. Ne zaman nbelirtilen cast işlevi ile varsayılan uzunluğu 30. Kullanım binaryzaman sütun veri girişleri boyutları tutarlı. Kullanım varbinaryzaman sütun veri girişleri boyutlarını önemli ölçüde değişebilir. 8.000 bayt'ı aşan veri girişlerinde varbinary(max) kullanılır.