04-列的数据类型讲解

这篇博客详细介绍了数据库中数值、字符串、时间和日期类型的常见数据类型,包括tinyint、smallint、float、double、char、varchar、date、time和datetime等。对于金融计算,推荐使用decimal类型以确保精度。同时,提到了NULL值的特殊性质及其在运算中的注意事项。

列的数据类型讲解

数值

  • tinyint 十分小的数据 1个字节
  • smallint较小的数据 2个字节
  • mediumint 中等大小的数据3个字节
  • int 标准的整数 4个字节―常用的int
  • bigint 较大的数据 8个字节
  • float 浮点数 4个字节
  • double 浮点数 8个字节―(精度问题!)
  • decimal 字符串形式的浮点数金融计算的时候,一般是使用decimal

字符串

  • char字符串固定大小的0~255
  • varchar可变字符串0~65535 常用的变量String
  • tinytext 微型文本 2^8- 1
  • text 文本串 2^16-1 保存大文本

时间日期

java.util.Date

  • date YYYY-MM-DD,日期格式.
  • time HH: mm: ss 时间格式
  • datetime YYYY-MM-DD HH: mm: ss最常用的时间格式.
  • timestamp时间戳,1970.1.1到现在的毫秒数!也较为常用!.
  • year年份表示

null

  • 没有值,位置
  • 注意,不要使用NULL进行运算,结果为NULL
### SQL Server 数据类型详解及使用场景 #### 1. 数值型数据类型 数值型数据类型用于存储整数或浮点数。 - **INT**: 存储范围为 -2,147,483,648 到 2,147,483,647 的整数,占用 4 字节[^1]。 - **BIGINT**: 范围更大,支持从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 的整数,占用 8 字节[^1]。 - **FLOAT(n)**: 浮点数类型,`n` 定义精度,默认 `FLOAT(53)` 占用 8 字节[^2]。 - **REAL**: 类似于 FLOAT(24),但只占 4 字节[^2]。 这些类型适用于需要精确计算的场合,例如财务记录中的金额字段。 #### 2. 字符串数据类型 字符串数据类型分为固定长度和可变长度两种。 - **CHAR(n)**: 固定长度字符数据,最多可以定义到 8,000 个字符。如果实际输入少于指定长度,则会自动填充空格[^3]。 - **VARCHAR(n)**: 可变长度字符数据,最大容量同样可达 8,000 个字符,但仅存储实际使用的字节数量[^3]。 - **TEXT**: 已被废弃的数据类型,在旧版本中用来保存大文本对象[^4]。 对于短文本如姓名、地址推荐使用 CHAR 或 VARCHAR;而对于文章正文等较长内容则应考虑 NTEXT 替代品 NVARCHAR(MAX)[^4]。 #### 3. 时间日期类型 时间日期类型专门设计来处理日历信息以及时间戳。 - **DATETIME**: 结合了日期与时间部分,有效区间是从公元 1753 年至 9999 年,并具有约三毫秒级别的准确性[^5]。 - **SMALLDATETIME**: 较小的时间跨度(1900 至 2079),更低内存消耗 (4 bytes vs DATETIME's 8 bytes)[^5]。 - **DATE**, **TIME**, 和 **DATETIME2** 提供更精细控制能力并改进性能表现[^6]. 当只需要单独表示一天或者具体时刻而不关心另一方时可以选择 DATE/TIME; 如果追求更高的精准度或是跨世纪的支持那么应该采用 DATETIME2. #### 4. 特殊用途数据类型 还有一些特殊功能导向的数据类别: - **BIT**: 表达布尔逻辑状态(true/false), 实际上是以单比特形式存在数据库里[^7]. - **UNIQUEIDENTIFIER**: GUID(global unique identifier) 值通常作为主键候选者之一因为其全球唯一性质[^8]. 以下是创建表时如何声明上述几种常见的例子: ```sql CREATE TABLE ExampleTable ( Id INT IDENTITY PRIMARY KEY, Name NVARCHAR(50), BirthDate DATE, IsActive BIT DEFAULT 1 -- 默认激活状态设为真 ); ``` 以上代码片段展示了基本结构化查询语言(SQL)语法下定义新关系型表格的方式,其中包含了不同类型字段及其属性设置方法[^9]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值