Ms SQL Postgre Veri Tipleri Karşılaştırma Tablosu


PostgreSQL’deki veri tipleri aşağıda sunulmuştur. PostgreSQL’de kullanılabilen veri tiplerinden bazıları PostgreSQL’e özgüdür, diğer veritabanlarında yer almaz. Bazı veri tipleri ise alt türlere bölünerek farklı kullanım alanlarına uyum sağlamayı kolaylaştırarak performans getirileri sunar.


MS SQL Type

MS SQL Max  Uzunluk

Postgre Type

Postgre Max Uzunluk

BIGINT

82^63-1

BIGINT

92239223372036854775807

BIT

0,1 or NULL

BOOLEAN

True, false, null

SMALLINT

2^15-1

INT

2147483647

DECIMAL

10^38 - 1

NUMERIC

Ondalık ayracı öncesinde 131072 haneye kadar sonrasında 16383 haneye kadar

SMALLMONEY

214,748.3647

NUMERIC

Ondalık ayracı öncesinde 131072 haneye kadar sonrasında 16383 haneye kadar

INT

2^31-1 (2,147,483,647)

INT

2147483647

TINYINT

255

SMALLINT

32767

MONEY

922,337,203,685,477.587

NUMERIC

Ondalık ayracı öncesinde 131072 haneye kadar sonrasında 16383 haneye kadar

FLOAT

1.79E+308

REAL

6 ondalık hane

REAL

3.40E + 38

REAL

6 ondalık hane

DATE

10

TIMESTAMPTZ

8

DATETIME

23

TIMESTAMPTZ

8

SMALLDATETIME

19

TIMESTAMP(0)

8

TIME

12

TIME

8

CHAR

8,000

VARCHAR

10485760

VARCHAR

8,000

TEXT

Değişken sınırsız uzunluklu

TEXT

2^30 - 1

TEXT

Değişken sınırsız uzunluklu

NCHAR

4,000

CHARACTER

10485760

NVARCHAR

8,000

VARCHAR

10485760

NTEXT

2^30 - 1

TEXT

Değişken sınırsız uzunluklu

BINARY

8,000

BYTEA

1GB

ROWVERSION

8

BYTEA

1GB

UNIQUEIDENTIFIER

16

CHAR(16)

16



Postgre ve MS SQL Query veya view syntax'larında farklılıklar

MS SQL

Postgre

Year()

EXTRAC ()

ISNULL

COALESCE()

DATEADD (day, valid, purchased)

purchased + valid * INTERVAL '1 day'

getdate()

now()

DATEDIFF()

extract()

month()

EXTRACT()

ISNUMERIC()

is null = 0, is not nul l= 1

charindex(substring,string)

strpos (string,substring) ya da position (substring in string)

len()

length()

top

limit

string concatenation +

string concatenation ||

print(v_SQL)

raise notice '%', v_SQL

SET NOCOUNT ON;

kullanılmaz

OUTER APPLY

LEFT JOIN LATERAL
tabloya alias verdikten sonra on true ifadesi eklenir

DATEDIFF

DATE_PART

FORMAT(COLUMN_NAME, ‘dd/MM/yyyy’)

FORMAT(CAST(COLUMN_NAME AS TEXT), ‘dd/MM/yyyy’)

option(maxrecursion 12);

limit 12

##tmp_table (Burada temp tablo oluşturulmuş)

tmp_table (postgreste ## işaretleri kullanılmaz)



Postgre’ye Geçiş Sonrası Değişen Kolon İsimleri

Tablo Adı

Eski Kolon Adı

Yeni Kolon Adı

WRK_OBJECTS

WINDOW

WINDOW_TYPE



Dikkat edilmesi gerekenler

  1. Postgre’de sp ler return yapmaz sadece fonksiyonlar yapar.

  2. Sp’ler fonksiyon olarak tanımlandıklarından cf de kullanılamıyorlar. Kaldırılarak cfquery ye dönüştürülmeliler.

  3. Boolean veri tipinde atanacak değerler cfquery param ya da tırnak içinde kullanılır.

  4. cfqueryparam nvarchar yoktur, varchar olmalı. cf_workcube_query_param yazılacak.

  5. TOP kullanılamaz ORDER BY ile birlikte OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY

  6. String birleştirmelerde + kullanımı yoktur, || kullanılır. Doğrudan CONCAT kullanılmalı.

  7. OUTER APPLY ile yazılmış sorgularda OUTER APPLY kısmı subquery olarak düzenlenmelidir.



Schema Yetkilendirme

GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA workcube_dev TO workcube_dev;

GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA workcube_dev TO workcube_dev;

GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA workcube_dev TO workcube_dev;



Sql Functions

Year, month, day, format fonksiyonları yerine WMO/sqlFunctions.cfc içerisindeki cfml fonksiyonları kullanılmalı.

Geri Bildirim

Bu içeriği faydalı buldunuz mu?