PostgreSQL、SQL Server数据库中的数据类型的映射关系

PostgreSQL 8.1 轰动发布,我也打算将原来使用 SQL Server 的一些应用迁移到 PostgreSQL 上,首先须要迁移的是表,那么这就必需要先搞清楚这两个数据库中的数据类型的映射关系。查了下 PostgreSQL 文档特制做以下对应表格,以飨各位。数据库


这里写图片描述


注意: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,以确保存储的文本可被不一样地区和文化下的用户查看和存储。code

    • 对于 GUID 类型的数据,在 PostgreSQL 中能够使用 bytea(16) 来保存,可用字节数组函数来对其进行比较等操做。图片

相关文章
相关标签/搜索