在数据库中定义数据类型时,我总是在 Select 使用整数还是字符串来存储某些"数字"数据时遇到问题.

假设我正在建设Yet号楼、Another号楼、Address号楼和Book号楼,并且有一个邮政编码字段.假设邮政编码是always个4位数字,我应该将其存储为哪种数据类型?整数还是字符串?从技术上讲,它是一个整数,但我没有对它做任何形式的计算,我只是把它吐到一个表中.如果我想按邮政编码对表格进行排序,您的意见会改变吗?

现在,我不傻了.我确实认识到对整数的有效需求,比如页面浏览量和唯一用户,或者登录用户和访客用户.但是存储一个激流中有多少文件呢?整数还是字符串?

推荐答案

在我的国家,邮政编码也总是4位数字.但是第一个数字可以是零.

如果将"0700"存储为整数,可能会出现很多问题:

  • 它可以读取为八进制值
  • 如果它被正确读取为十进制值,则会变成"700"
  • 当你得到值"700"时,你必须记得加上零
  • 如果你不加零,以后你怎么知道"700"是"0700",还是有人打错了"7100"呢?

从技术上讲,我们的邮政编码实际上是字符串,即使它总是4位数字.

可以将它们存储为整数,以节省空间.但请记住这是一个简单的分贝技巧,要小心前导零.

但是存储多少呢

这显然是一个整数.

Database相关问答推荐

Postgres和Oracle之间 Select 查询的结果差异

如何替换对象数组内的数组元素

嵌入式的 best数据库是什么?

什么是 CREATE VIEW IF NOT EXISTS in postgresql

这到底是做什么的 Class.forName("com.mysql.jdbc.Driver").newInstance();

MS Access:如何在 VBA 中压缩当前数据库

微服务:每个实例或每个微服务的数据源?

如何在 Oracle 中找到指向一条记录的外键依赖项?

被删除的行占用的空间会被重新使用吗?

为什么String or Binary data would be truncated不是更具描述性的错误?

更新列的子字符串

什么是本体数据库?

是否有标准的Electron 商务数据库架构来将折扣/税收/礼券应用于产品?

判断Android中的应用程序数据库中是否存在列

在内存中创建 SQLite 数据库

在 SQL Server 2008 中区分两个表架构的最简单方法是什么?

Django:将博客条目查看次数加一,这有效率吗?

如何将 DECIMAL 插入 MySQL 数据库

如何使用 T-SQL 检测 SQL Server 数据库的只读状态?

使用命令行在 Mysql 中导入压缩文件