PostgreSQL 與 SQL Server 的資料類型映射

來源:互聯網
上載者:User
文章目錄
  • 前言
前言

  PostgreSQL 8.1 轟動發布,我也打算將原來使用 SQL Server 的一些應用遷移到 PostgreSQL 上,首先需要遷移的是表,那麼這就必須要先搞清楚這兩個資料庫中的資料類型的映射關係。查了下 PostgreSQL 文檔特製作如下對應表格,以饗各位。

 

SQL Server 2000 Microsoft Jet-SQL 4.0 PostgreSQL 8.x
bigint DECIMAL bigint
binary(n) BINARY(n) bytea(n)
bit BIT boolean, bool
char(n) CHAR(n) char(n)
datetime DATETIME timestamp(date, time)
decimal DECIMAL decimal
float FLOAT real, float4
image IMAGE bytea
int INT integer, int, int4
money CURRENCY decimal
nchar(n) NCHAR(n) char(n)
ntext LONGTEXT text
numeric DECIMAL numeric
nvarchar(n) NCHAR VARYING(n) varchar(n)
real REAL real
smalldatetime DATETIME timestamp(date, time)
smallint SMALLINT smallint, int2
smallmoney CURRENCY decimal
text LONGTEXT text
timestamp BINARY
tinyint BYTE
uniqueidentifier GUID
varbinary(n) VARBINARY(n) bytea(n)
varchar(n) VARCHAR(n) varchar(n)

注意:PostgreSQL 中的 money(貨幣)資料類型現在已經廢棄,用 numeric 或 decimal 以及和 to_char 函數一起使用就可以取代它。

* SQL Server 中的 datetime、smalldatetime 資料類型均包含日期和時間部分,區別只在於精度不同。其對應於 PostgreSQL 中的 timestamp 類型(包含日期和時間)。在 PostgreSQL 中如果只需要日期部分,則可以使用 date 類型,而只需要時間部分則可使用 time 類型。

* PostgreSQL 中的 bytea(n) 始終為變長的二進位位元組數組,相當於 SQL Server 中的 varbinary(n),如果沒有指定 bytea 的最大位元組數則表示為不限長度的變長位元組數組,相當於 SQL Server 中的 image 資料類型。

* PostgreSQL 中的字元類型沒有像 SQL Server 中有對應的本地文本類型和國際化文本類型的兩種文本資料類型的區別,儲存在 PostgreSQL 中的文本類型的資料是否國際化還是本地化取決於資料庫的文本編碼設定。
  為了保證資料存放區的國際化,建議將資料庫的文本編碼方式設定為 UTF-8 或者 Unicode,以確儲存儲的文本可被不同地區和文化下的使用者查看和儲存。

* 對於 GUID 類型的資料,在 PostgreSQL 中可以使用 bytea(16) 來儲存,可用位元組數組函數來對其進行比較等操作。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.