Useful shortcuts for vi editor

Showing posts with label t-sql. Show all posts
Showing posts with label t-sql. Show all posts

Wednesday 18 May 2011

SQL Server Veri Tipleri Konu Listesi

SQL Server 2008’de yer alan veri tiplerini 7 ana kategoride inceleyebiliriz. Bunlar;
Bahsi geçen bu tipleri adım adım inceleyebilir ve birbirleri arasındaki farkları anlayabilirsiniz.

İyi çalışmalar.

T-SQL’de cursor, hierarchyid vs. gibi veri tipleri


Daha önceki yazılarımızda T-SQL’de kullanılan veri tiplerinden ayrı ayrı blog yazılarında bahsetmiştik.

Bu yazıda geriye kalan diğer veri tiplerine bakıyor olacağız.

Cursor:

Tanımı: Sorgu sonucunda çıkan değişkenleri elde edip, kullanmaya yarar.
Tanımlandırılması: Declare ornek_cursor CURSOR
FOR SELECT [tablo_sütun_ismi] FROM [tablo_ismi]

Sql_variant:

Tanımı: Sütun, parametre, değişken, UDF’dan dönen değerlerde kullanılır. Çeşitli veri tiplerine destek sağlar.
Tanımlandırılması: Declare @sql_variant datatype
Bellekte En Fazla Kapladığı Alan: 8016 byte.

Table:

Tanımı: Geçici olarak depolanır ve sorgu sonucunda dönen satırları saklamakta kullanılır.
Tanımlandırılması: Declare @table_dt TABLE (column_name column_data_type)

Hierarchyid:

Tanımı: Ağaç yardımıyla tablo içi veriler tasniflenir.
Tanımlandırılması: column_name hierarchyid

Timestamp:

Tanımı: tarih ve saat bilgisini kaydetmek için kullanılan bir veri tipidir ve ileride kullanılmayacağı belirtiliyor.
Tanımlandırılması: CREATE TABLE ExampleTable (PriKey int PRIMARY KEY, timestamp);
Bellekte Kapladığı Alan: 8 byte.
Uniqueidentifier:

Tanımı: Özgün bir kimlik tanımlamak için kullanılır. Bu kimliğe GUID denilmektedir. Diğer bilgisayarların aynı kimliği üretmesi ve böylece karışıklık çıkması mümkün değildir.
Tanımlandırılması: UniqueColumn UNIQUEIDENTIFIER DEFAULT NEWID()
Bellekteki Kapladığı Alan: 16 byte

Xml:

Tanımı: xml tipindeki verilere destek verir.

Daha fazla bilgi edinmek için buralara bakmanızı tavsiye ediyorum.


Herkese iyi çalışmalar. J

Saturday 14 May 2011

T-SQL’de Approximate Numerics İncelemesi


T-SQL’de sayısal verileri saklamak için kullanılan bir diğer veri tipi yaklaştırılmış, yuvarlanmış sayısallardır.

Decimal/Numeric ve integer veri tiplerine göre daha az kesinlik sağladıklarını ve daha az kullanıldıklarını da belirtelim.

Float:

Tanımı: Ortalama değer alınırken kullanılan bir veri tipidir. Kullanılan sayı ilgili tipte tam olarak temsil edilemeyebilir.
Tanımlandırılması: float(n) (1 <= n <= 24 ise; tam kısım 7 basamaklı, 4 byte yer kaplar. 25 <= n <= 53 ise; tam kısım 15 basamaklı, 8 byte yer kaplar.)  n değeri belirtilmezse 53 olarak kabul edilir.
Bellekteki Kapladığı Alan: 4 ila 8 byte.
Alabileceği Değerler Aralığı: - 1.79E+308 ila -2.23E-308, 0 ve 2.23E-308 ila 1.79E+308 arası değerler alır.

Real:

Tanımı: Float veri tipine benzerdir. Float (24) yani tam kısmı 7 basamaklı kesirli sayı için kullanılır.
Tanımlandırılması: real
Bellekteki Kapladığı Alan: 4 byte
Alabileceği Değerler Aralığı: - 3.40E + 38 ila -1.18E - 38, 0 ve 1.18E - 38 ila 3.40E + 38 arası değerler alır.

Bilgi: Değer aralıklarında gördüğümüz E harfinin anlamı, harfin sonrasında gelen tam sayının 10’nun üstü kadar çarpımına eşittir. Mesela, 1.18E + 2 karşılığı 118’dir.

Herkese iyi çalışmalar. J

Friday 13 May 2011

T-SQL’de Exact Numerics (Tam Sayısallar) İncelemesi

T-SQL’de sayısal verileri saklamak için kullanılan exact numerics veri tiplerine bakacağız.

Float ve real veri tiplerine göre daha fazla kesinlik sağladıklarını ve daha fazla kullanıldıklarını da söyleyelim.

Int:

Tanımı: Ondalık tabanda tamsayı değerleri saklamak için kullanılır.
Tanımlandırılması: int
Bellekteki Kapladığı Alan: 4 byte.
Alabileceği Değerler Aralığı: -2,147,483,648 ila 2,147,483,647 arası değerler alır.

Bigint:

Tanımı: Int veri tipinden farklı olarak alabileceği değer aralığı daha büyüktür.
Tanımlandırılması: bigint
Bellekteki Kapladığı Alan: 8 byte
Alabileceği Değerler Aralığı: -9,223,372,036,854,775,808 ila 9,223,372,036,854,775,807 arası değerler alır.

Smallint:

Tanımı: adından anlaşılacağı gibi integer veri tipine göre değer aralığı daha dardır.
Tanımlandırılması: smallint
Bellekteki Kapladığı Alan: 2 byte
Alabileceği Değerler Aralığı: -32768 ila 32767 arası değerler alır.

Tinyint:

Tanımı: Integer veri tipleri arasında en dar değer aralığına sahiptir.
Tanımlandırılması: tinyint
Bellekteki Kapladığı Alan: 1 byte
Alabileceği Değerler Aralığı: 0 ila 255 arası değerler alır.

Decimal ve Numeric:

Tanımı: Küsaratı olan sayılar için kullanılır.
Tanımlandırılması: decimal (p,s) ; p: precision (tam kısmı), s:scale (kesirli, noktadan sonraki kısım)
Bellekteki Kapladığı Alan: 5 - 17 byte
Alabileceği Değerler Aralığı: - 10^38 +1 ila 10^38 arası değerler alır.

Money:

Tanımı: Her türlü para birimine uyumlu bir veri tipidir.
Tanımlandırılması: money
Bellekteki Kapladığı Alan: 8 byte
Alabileceği Değerler Aralığı: -922,337,203,685,477.5808 ila 922,337,203,685,477.5807 arası değerler alır.

Smallmoney:

Tanımı: Her türlü para birimine uyumlu bir veri tipidir ve money tipine göre değer aralığı daha dardır.
Tanımlandırılması: smallmoney
Bellekteki Kapladığı Alan: 4 byte
Alabileceği Değerler Aralığı:  -214,748.3648 ila 214,748.3647 arası değerler alır.

Herkese iyi çalışmalar. J

Thursday 12 May 2011

T-SQL’de Binary Veri Tipleri İncelemesi

T-SQL’de temel olarak 4 adet binary (İkilik tabanlı) veri tipi vardır.

Sırayla bunların ne olduklarına bakalım.

Bit:

Tanımı: 2’lik tabanda tek basamaklı sayı için kullanılır. Örneğin; 0, 1 veya NULL
Tanımlandırılması: bit
Bellekteki Kapladığı Alan: 1 bit (1/8 byte).
Alabileceği Değerler: 0, 1 veya NULL

Binary:

Tanımı: Bit veri tipine göre daha kapsamlı sabit genişlikli 2’lik tabanlı sayılar için kullanılır.
Tanımlandırılması: binary (n) (n = basamak)
Bellekteki Kapladığı Alan: sabit n kadar byte. (n= 1 ila 8000 arasında byte yer kaplar.)
Bellekte Alabileceği En Fazla Yer: 8000 byte

Varbinary:

Tanımı: Binary veri tipine göre daha fazla alana sahip sabit genişlikli 2’lik tabanlı sayılar için kullanılır
Tanımlandırılması: varbinary (n | max) (n = basamak sayısı)
Bellekteki Kapladığı Alan: n kadar byte + fazladan 2 byte (n= 1 (+2) ila 8000 arasında byte yer kaplar.)
Bellekte Alabileceği En Fazla Yer: varbinary (max) - 2^31-1 byte yaklaşık 2 gigabyte

Image:

Tanımı: her tip veriyi saklamak için kullanılıyor; resim, video, vs. gibi
Tanımlandırılması: image
Bellekteki Kapladığı Alan: Yaklaşık 2 gigabyte’a kadar veri saklanabilmektedir.

Daha ayrıntılı incelemek için; buraya bakabilirsiniz.

Herkese iyi çalışmalar. J

Wednesday 11 May 2011

T-SQL’de Tarih ve Saat Veri Tiplerinin İncelenmesi

T-SQL’de 6 adet tarih verisini tutmak için tasarlanmış veri tipi bulunmaktadır. Sırayla bunların neler olduğuna bakacağız.

Smalldatetime:

Tanımı: Date tipine göre ayrıca saat bilgisini de saklar. Örneğin; 2000-01-01 12:00:00
Tanımlandırılması: smalldatetime
Bellekteki Kapladığı Alan: 4 byte tarih ve saat bilgini saklar.
Aralığı: 1900-01-01 ila 2079-06-06 arası
Hassasiyeti: 1 dakika

Datetime:

Tanımı: date ve smalldatetime veri tiplerine göre tarih bilgisi hassasiyeti daha fazladır. J
Tanımlandırılması: datetime
Bellekteki Kapladığı Alan: 8 byte tarih ve saat bilgisini saklar.
Aralığı: 1753-01-01 ila 9999-12-31 arası
Hassasiyeti: 3.33 milisaniye

Datetime2:

Tanımı: datetime tipine göre daha hassastır.
Tanımlandırılması: datetime2
Bellekteki Kapladığı Alan: 6 ila 8 byte tarih ve saat bilgisini saklar
Aralığı: 0001-01-01 00:00:00.0000000 ila 9999-12-31 23:59:59.9999999 arası
Hassasiyeti: 100 nanosaniye (kullanıcı noktadan sonraki küsuratlı saniye kısmını kendine göre ayarlayabilir.)

Date:

Tanımı: Standart gösterimdir. Örneğin; 2000-01-01
Tanımlandırılması: date
Bellekteki Kapladığı Alan: 3 byte yalnızca tarih bilgisini saklar.
Aralığı: 0001-01-01 ila 9999-12-31 arası
Hassasiyeti: 1 gün

Datetimeoffset:

Tanımı: datetime2 tipine göre farkı saat farkını (time ofset) belirlenebilmesidir.
Tanımlandırılması: datetimeoffset
Bellekteki Kapladığı Alan: 8 ila 10 byte tarih ve saat bilgisini saklar.
Aralığı: 0001-01-01 00:00:00.0000000 ila 9999-12-31 23:59:59.9999999 arası
Hassasiyeti: 100 nano saniye (kullanıcı noktadan sonraki küsuratlı saniye kısmını kendine göre ayarlayabilir.)

Time:

Tanımı: Standart gösterimdir. Örneğin; 23:59:59.9999999
Tanımlandırılması: time
Bellekteki Kapladığı Alan: 3 ila 5 byte yalnızca saat bilgisini saklar.
Aralığı: 00:00:00.0000000 ila 23:59:59.9999999 arası
Hassasiyeti: 100 nanosaniye (kullanıcı noktadan sonraki küsuratlı saniye kısmını kendine göre ayarlayabilir.)

Daha ayrıntılı incelemek için; burayı gözden geçirebilirsiniz.

Herkese iyi çalışmalar. J