首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle sql中的迄今字符

oracle sql中的迄今字符
EN

Stack Overflow用户
提问于 2015-04-20 12:27:59
回答 2查看 6K关注 0票数 2

下面的SQL中有什么错误:

代码语言:javascript
复制
select to_Date(substr('2/22/2015 9:20:06 AM',1,9),'mm/dd/yyyy','DD-MON-YY')  from dual

我得到了以下错误:

ORA-12702: SQL函数错误中使用的无效NLS参数字符串

select substr('2/22/2015 9:20:06 AM',1,9) from dual展示了2/22/2015。我想把这个转换成日期。

EN

回答 2

Stack Overflow用户

发布于 2015-04-20 14:10:49

to_Date(substr('2/22/2015 9:20:06 AM',1,9),'mm/dd/yyyy',‘’)

将查询分解为各个部分,然后理解。

substrto_date是正在使用的两个函数。

  1. 提取所需的子字符串,substr('2/22/2015 9:20:06 AM',1,9)
  2. 对步骤1的输出应用TO_DATETO_DATE(‘2/22/2015 9:20:06 AM', 1,9),'mm/dd/yyyy')
  3. 而且,就是这样。

因此,在您发布的查询中,根本不需要'DD-MON-YY'格式掩码。

此外,您正在努力实现的目标相当于:

代码语言:javascript
复制
TRUNC(TO_DATE('2/22/2015 9:20:06 AM', 'MM/DD/YYYY HH:MI:SS AM'))

TRUNC日期类型中删除时间部分。

或者,

您可以使用ANSI时间戳文本:

代码语言:javascript
复制
TRUNC(TIMESTAMP '2015-02-22 09:20:06')
票数 2
EN

Stack Overflow用户

发布于 2015-04-20 12:31:42

TO_DATE方法中删除第三个参数:

代码语言:javascript
复制
select to_date(substr('2/22/2015 9:20:06 AM',1,9),'mm/dd/yyyy') from dual

这是nlsparam (参见文档)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29747882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档