替代Oracle上名为“DATE”的列

时间:2012-08-02 11:42:44

标签: oracle

我正在将数据库迁移到Oracle,其中保留了“DATE”一词。 我可以使用哪种替代方案?你们用哪一个?

由于

4 个答案:

答案 0 :(得分:4)

很有可能为列名提供更多上下文:REG_DATEUPD_DATEEXPIRATION_DATEBIRTHDATE

答案 1 :(得分:4)

您可以将日期列名称与其连接的项目相关联。假设您有一张包含发票的表格,您的日期列可以命名为invoice_dateinvoice_dat

对我来说,这看起来非常好阅读,它使连接操作的语句更具可读性。

答案 2 :(得分:2)

虽然不推荐做法,但可以使用DATE作为列名,将其用双引号括起来,如

CREATE TABLE TEST_TAB
  (NUM_COL   NUMBER,
   "DATE"    DATE);

例如,如果您经常使用此列名并且不愿意更改它的查询,则可以选择此选项。这样做的一个缺点是你必须在任何地方将列名放在双引号中,如

SELECT *
  FROM TEST_TAB
  WHERE "DATE" BETWEEN TRUNC(SYSDATE)
                   AND TRUNC(SYSDATE) + INTERVAL '1' DAY - INTERVAL '1' SECOND

总的来说,最好遵循@stb或@Thilo的建议,将名称更改为更有意义的名称。

分享并享受。

答案 3 :(得分:0)

我建议使用DTTS(TimeStamp)或DATEXDATE_名称。

如果单个表中有多个日期列,请使用_DATE作为后缀或DATE_作为前缀。

或者将"DATE"括在双引号中,但DT更短。