【发布时间】:2019-09-21 20:02:17
【问题描述】:
CREATE TABLE SampleMath
(m NUMERIC (10,3),
n INTEGER,
p INTEGER);
问题:为什么NUMERIC 和(10,3) 之间有一个空格。
起初,我以为(10,3) 是列约束。然而,这似乎并不正确,因为常见的约束是NOT NULL、UNIQUE,如here 所列。
然后我认为它可能是documentation 中描述的数据类型NUMERIC 的属性(精度、比例)。在那种情况下,我认为NUMERIC 和(10,3) 之间不应该有空格。我还尝试删除两者之间的空间,看来代码仍然有效。在我的理解中,如果是属性,就不应该有空格,这让我很困惑。
任何澄清这一点的帮助将不胜感激。提前感谢您的帮助。
【问题讨论】:
-
SQL 允许在大多数运算符和标识之间使用空格,包括类型与其长度(或精度和小数位数)之间的空格。
-
谢谢。以前不知道这个。现在一切对我来说都更清楚了。
-
。 .我应该补充一点,换行符和制表符也是允许的。大多数语言都是这样工作的。
标签: sql postgresql sqldatatypes