如果我使用TEXT
数据类型将 ID 号存储在数据库中,会有什么不好的影响吗?我做类似的事情:
CREATE TABLE GenData ( EmpName TEXT NOT NULL, ID TEXT PRIMARY KEY);
实际上,如果我想存储日期值,我通常使用TEXT
数据类型。如果这是一个错误的方式,它的缺点是什么?
我正在使用PostgreSQL
.
如果我使用TEXT
数据类型将 ID 号存储在数据库中,会有什么不好的影响吗?我做类似的事情:
CREATE TABLE GenData ( EmpName TEXT NOT NULL, ID TEXT PRIMARY KEY);
实际上,如果我想存储日期值,我通常使用TEXT
数据类型。如果这是一个错误的方式,它的缺点是什么?
我正在使用PostgreSQL
.
在文本列中存储数字是一个非常糟糕的主意。当你这样做时,你会失去很多优势:
我想存储一个我通常使用 TEXT 的日期值
这是另一个 非常糟糕的主意。主要是因为同样的原因,您不应该在文本列中存储数字。除了完全错误的日期('foo')之外,您也不能防止“无效”日期(例如 2 月 31 日)。>
然后是排序的事情,与and的比较<
,以及日期算术......
这取决于您要对数据执行的操作。
如果您要对数值数据进行大量算术运算,则将其存储为某种数值数据类型更有意义。此外,如果您计划按数字顺序对数据进行排序,那么将数据存储为数字确实会有所帮助。
当存储为文本时,“11”在“9”之前,因为“1”在“9”之前。如果这不是您想要的,请不要使用文本。
另一方面,将数字字符串(例如邮政编码或社会安全号码或电话号码)存储为文本通常是有意义的。