【问题标题】:I want to fetch the date timestamp in Toad using SQL Query我想使用 SQL Query 在 Toad 中获取日期时间戳
【发布时间】:2020-10-09 07:01:38
【问题描述】:

我在蟾蜍中有一个专栏

CREATE_DATE='10/9/2020 2:05:10 AM'

我正在尝试使用以下 SQL 查询来获取它,但它给了我一个错误“不是有效的月份”。

SELECT * FROM TABLE
WHERE
CREATE_DATE = '10/9/2020 2:05:10 AM'

有人可以帮忙吗,我怎样才能获取这个专栏

'

【问题讨论】:

  • Toad 没有列。它是一个与数据库接口的 GUI。

标签: mysql sql toad


【解决方案1】:

这看起来像 DATE 数据类型列。如果是这样,这里有一个例子:

SQL> create table test (create_date date);

Table created.

SQL> insert into test values (sysdate);

1 row created.

只是看看里面有什么:

SQL> alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss';

Session altered.

SQL> select * From test;

CREATE_DATE
-------------------
09.10.2020 09:15:12

好的;现在,使用带有适当格式掩码的TO_DATE 函数(因为我们想为其提供一个字符串)的查询(以便Oracle 知道什么是什么 在该字符串中;09 代表一个月还是一天)。

例如:

SQL> select * from test
  2  where create_date = to_date('09.10.2020 09:15:12', 'dd.mm.yyyy hh24:mi:ss');

CREATE_DATE
-------------------
09.10.2020 09:15:12

或者,另一种日期格式(您使用的那个):

SQL> select * from test
  2  where create_date = to_date('10/9/2020 9:15:12 am', 'mm/dd/yyyy hh:mi:ss am');

CREATE_DATE
-------------------
09.10.2020 09:15:12

基本上,关键字是让数据库知道你确切想要什么,而不是让它猜测。有时它会成功,但有时它会失败 - 就像在您的查询中一样。

【讨论】:

  • '让 Oracle 知道' - 但是问题被标记为 mysql..?
  • 呃,是吗?由于 TOAD 标签,过滤器显示了这个问题,甚至没有注意到这一点。谢谢你,@P.Salmon。
  • 不过,这并不重要。数据库应该知道你想要什么;可能有不同的函数名称,但原理是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 2012-04-15
  • 1970-01-01
  • 2020-02-12
  • 2021-05-21
相关资源
最近更新 更多