oracle中sql把数字转文字,Oracle SQL字符串到数字转换

博客作者在Oracle SQL查询中遇到一个问题,尝试将varchar2类型的列(包含如'22:00'这样的时间数据)与当前时间进行比较。在WHERE子句中,他们试图将时间字符串转换为数字进行比较,但遇到了ORA-01481错误,提示无效的数字格式模型。错误出现在TO_NUMBER函数的使用上。作者分享了他们的查询代码并寻求解决方案。
摘要由CSDN通过智能技术生成

我有一个表格,其中的列类型是varchar2,并保存诸如'22:00'或“13:30”之类的数据。 我试图将该数字与当前时间进行比较,如果当前时间在该时间之前,请选择数据。Oracle SQL字符串到数字转换

这里是我当前的代码:

select DISTINCT BBT_JOURNEYSTOPS.SERVICE "Service", BBT_JOURNEYSTOPS.STOP_REFERENCE "StopNo",

STOP_NAME "Near", BBT_STOPS.ROAD_NAME "On", BBT_JOURNEYSTOPS.JOURNEYTIME "Duration"

from BBT_JOURNEYSTOPS

inner join BBT_WEEKLYSCHEDULE

on BBT_WEEKLYSCHEDULE.SERVICE = BBT_JOURNEYSTOPS.SERVICE

inner join BBT_STOPS

on BBT_JOURNEYSTOPS.STOP_REFERENCE = BBT_STOPS.STOPREF

where (UPPER(BBT_JOURNEYSTOPS.SERVICE) LIKE UPPER('%'|| :route || '%')) AND

(TO_NUMBER(SUBSTR(BBT_WEEKLYSCHEDULE.TIMEUNTIL, 1, 2)) > (SELECT TO_NUMBER(SYSDATE, 'HH24') "NOW" FROM DUAL));

这是有问题的WHERE语句。我得到的错误代码是

ORA-01481: invalid number format model

01481. 00000 - "invalid number format model"

*Cause: The user is attempting to either convert a number to a string

via TO_CHAR or a string to a number via TO_NUMBER and has

supplied an invalid number format model parameter.

*Action: Consult your manual.

2015-04-21

Craig

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值