仅从oracle sql中的给定日期提取日期

仅从oracle sql中的给定日期提取日期,sql,oracle,Sql,Oracle,提取日期的最佳Oracle sql查询是什么? 输入条目-2020-10-14T07:26:32.661Z, 预期产出-2020-10-14标准方法可能是: 这假定输入项是日期或时间戳值 编辑: 如果您的输入只是一个字符串,请使用字符串操作: select substr(input_entry, 1, 10) 您也可以轻松地将其转换为日期。如果您想要时间成分为午夜的日期数据类型,则: 选择TRUNC 到时间戳 “2020-10-14T07:26:32.661Z”, 'YYYY-MM-DDTHH

提取日期的最佳Oracle sql查询是什么? 输入条目-2020-10-14T07:26:32.661Z,
预期产出-2020-10-14

标准方法可能是:

这假定输入项是日期或时间戳值

编辑:

如果您的输入只是一个字符串,请使用字符串操作:

select substr(input_entry, 1, 10)
您也可以轻松地将其转换为日期。

如果您想要时间成分为午夜的日期数据类型,则:

选择TRUNC 到时间戳 “2020-10-14T07:26:32.661Z”, 'YYYY-MM-DDTHH24:MI:SS.FF3TZR' 截止日期 来自双重; 根据您的NLS\u日期\u格式输出:


dbfiddle

此查询从dual-gives error-ORA-01722:invalid numberrok中选择trunc'2020-10-14T07:26:32.661Z',我的示例输入值是2020-10-14T07:26:32.661Z,还有其他选项吗?'trunc'解决方案假设您的输入日期是数据类型日期或时间戳。如果它实际上是一个看起来像日期的字符串,那么解决方案就不同了。@Aadhi。正如答案所说,这假设输入是一个日期/时间戳。如果输入是字符串,答案其实很简单。你试过什么?是数据库列中的2020-10-14T07:26:32.661Z,还是插入/更新数据库表的用户输入?请回答您的问题以添加此信息。
select substr(input_entry, 1, 10)
| TRUNCATED_DATE | | :------------------ | | 2020-10-14 00:00:00 | | FORMATTED_DATE | | :------------- | | 2020-10-14 |