我目前正在Oracle中创建一个小表,不确定为特定列选择哪种数据类型。
该列被标记为“stay”,我希望它只包含“Short”、“Medium”和“Long”这些值。最终目标是将这些值放在表单的下拉列表中。
这里我选择的数据类型是'char(6)‘,对吗?
那么,是否可以使用Oracle form builder将其转换为值列表呢?
谢谢您抽时间见我。
发布于 2009-02-16 16:32:55
首先,我会将该列命名为“StayDuration”或“StayLength”,因为仅仅是“Stay”本身仍然有点令人困惑。完成后,我看到了两种可以接受的方法:
我倾向于避免在这里直接存储varchar类型的数据。它需要更多的存储空间,并且很容易导致输入错误或过时的数据。
一种混合的方法也是可能的,这样来自第一个选项中的新表的“键”映射到第二个选项中提出的整数值。
发布于 2009-02-16 16:29:26
基本上有3种选择:
我会说Enum是“最干净的”选项。但是一些ORM并不能正确地支持这一点。
你可能会对这个问题感兴趣:
发布于 2009-02-16 16:33:02
使用VARCHAR2(6)。CHAR(6)具有空格填充的语义,这使用起来很奇怪;这也意味着您每次使用单词'Long‘时都要存储完整的6个字符。几乎没有令人信服的理由使用CHAR而不是VARCHAR2。
https://stackoverflow.com/questions/553877
复制相似问题