当前位置: 首页 > 面试题库 >

Oracle SQL将日期格式从DD-Mon-YY转换为YYYYMM

越涵衍
2023-03-14
问题内容

我有一个比较2个表中的日期,但问题是一个表的日期为DD-Mon-YY格式,而另一个表的日期为YYYYMM格式。

为了进行比较,我需要将它们都设为YYYYMM。

我需要创建这样的东西:

SELECT * FROM offers 
WHERE offer_date = (SELECT to_date(create_date, 'YYYYMM') FROM customers where id = '12345678') 
AND offer_rate > 0

其中create_date类似于2006年3月12日,offer_date类似于200605

我需要在哪里适应此查询的任何想法?


问题答案:

由于offer_date是数字,并且精度比实际日期低,因此可能会起作用…-
将您的真实日期转换为格式字符串YYYYMM
-将值转换为INT-
比较您的结果offer_date


SELECT
  *
FROM
  offers
WHERE
    offer_date = (SELECT CAST(to_char(create_date, 'YYYYMM') AS INT) FROM customers where id = '12345678')
AND offer_rate > 0

同样,通过对进行所有操作,create_date您仅可以对一个值进行处理。

此外,如果您进行了操作,offer_date将无法使用该字段上的任何索引,因此强制使用SCAN而不是SEEK。



 类似资料:
  • 问题内容: 我有一个JODA 。我想将其转换为日期格式。所以我期望代码返回日期-12/12/31。 代码- 结果: 当我执行以下操作时,我得到了预期的输出,但是我不知道如何将其转换为Date- 请帮我。 谢谢 编辑-我希望最终结果是dd / mm / yy格式的使用日期。我不希望String输出。我的输入是Joda DateTime yyyy-MM- ddThh:mm:ss:+ GMT。我需要将J

  • 我正试图用2018年9月4日的下午6:30:00(2018年3月9日)获得这个日期,但我得到的是2017年12月364日的下午6:30:00,以下是我尝试过的。

  • 问题内容: 我有一个日期为dd-mm-yyyy格式的日期(在我的数据库内)。我需要将其转换为dd-mm-yy格式。我从db中检索了日期并将其存储在字符串中。 1990并不是完全需要的,只需要90.使用java中的split()我尝试了一些东西,但它不会帮助我。任何人都可以帮忙。任何帮助将不胜感激。 问题答案: 试试下面的代码

  • 问题内容: 我想将日期yyyy-mm-dd(以日期格式存储)转换为mmm-yy格式。 网站上的先前问题中没有完全匹配的内容。 我尝试了子字符串和转换函数,当时正在考虑创建一个标量函数,但是这花了我一段时间,希望有人能提供一个简单的解决方案。 问题答案: 您可以使用字符串操作构造格式: 或使用:

  • 问题内容: 2012年12月1日星期六00:00:00 GMT 我必须将以上日期转换为以下格式 2012-12-01 我怎样才能? 我已经尝试使用以下方法,但无法正常工作 问题答案: 用这个。 您将获得输出为

  • 问题内容: 当我在下面的代码下运行时,出现Unparseable错误。如何将dd MMM yyyy格式转换为dd / MM / yyyy格式? 问题答案: 假设您修复了明显的语法错误,则: 您要做的就是为您需要解析的格式创建一个解析器,并为您想要的格式创建一个格式化器: