Oracle和MySql的DD-MON-YY的通用日期格式

时间:2016-04-07 11:57:21

标签: mysql sql oracle

我有一个业务要求,早些时候我们以前只支持Oracle,现在我们需要扩展对mariadb(mysql)的支持。

我们没有选择为2个不同的数据库维护2个不同的查询。 因此,我们必须形成两个数据库都常见的查询。

现在,我们知道mariadb默认为YYYY-MM-DD,在STR_TO_DATE的帮助下,我们可以选择转换为其他格式,但STR_TO_DATE不支持Oracle。

我正在寻找能在Oracle和MySql中支持DD-MON-YY日期格式的常用功能。

如果有人可以帮助我们,那将是很有帮助的。

提前致谢。

1 个答案:

答案 0 :(得分:0)

可以使用的一些想法:

  1. ANSI日期文字:

    []

    它们似乎在MySQL和Oracle中工作(不在例如SQL Server中,这可能是未来的关注点),它们对于例如插入,但生成的日期仍将呈现(可能不同)为字符串,除非您的数据库库支持透明转换为您的客户语言日期类型。

  2. 默认日期格式:

    两个引擎都有一个。 MySQL不能改变,但Oracle可以改变。

  3. 用户定义的函数:

    如果给定系统没有SELECT DATE '1998-12-25' FROM DUAL STR_TO_DATE(),请自行编写。 (同样,如果您需要支持SQL Server,则需要添加DATE_FORMAT()之类的前缀,这样才会引起关注。)

  4. 说,如果你绝对需要在两个不同的引擎上运行的SQL代码,你很快就会遇到无穷无尽的工作:迟早你需要用你的客户端语言很难复制几乎任何有趣的东西数据库可以提供的功能:自动增量/序列,检查约束,事务......除非你采用非常复杂的技巧,否则你甚至不能用纯SQL编写跨平台的分页器。