【发布时间】:2021-06-06 23:23:19
【问题描述】:
我是 SSIS 和 SQL 初学者,我正在尝试了解我应该选择哪种数据类型。 SQL Server 数据类型为 [decimal](4, 3),有两种转换选项,decimal 和 numeric。在这种情况下,哪一种更合适?
【问题讨论】:
-
使用数字并设置精度和比例
标签: sql sql-server tsql types ssis
我是 SSIS 和 SQL 初学者,我正在尝试了解我应该选择哪种数据类型。 SQL Server 数据类型为 [decimal](4, 3),有两种转换选项,decimal 和 numeric。在这种情况下,哪一种更合适?
【问题讨论】:
标签: sql sql-server tsql types ssis
参考SSIS official documentation,您应该使用DT_NUMERIC 数据类型。
请注意,在 SSIS 中有一个类似的数据类型可用,称为 DT_DECIMAL。 DT_NUMERIC 支持的范围比DT_DECIMAL 更广。
根据官方文档,DT_DECIMAL定义为:
具有固定精度和固定比例的精确数值。该数据类型是一个带单独符号的 12 字节无符号整数,范围为 0 到 28,最大精度为 29。
而DT_NUMERIC 定义为:
具有固定精度和比例的精确数值。此数据类型是一个 16 字节的无符号整数,带有单独的符号,范围为 0 - 38,最大精度为 38。
【讨论】:
DT_DECIMAL 类似于.NET 的decimal 类型
at the most basic 也不是修辞格。该标准具有合规级别,因此供应商仅出于商业原因遵守最低级别 - 他们希望能够相互吸引客户。 MySQL 以打破最基本的兼容级别而臭名昭著