我试图通过Java执行我的查询,如下所示:
public ResultSet execSumStatment2() throws SQLException{
String query = "Select SUM(A) as NCCSeptember from NCC where Datum >= '01-09-2013 00:00:00' and Datum <= '30-09-2013 23:59:59'";
return execStatement(query);
}
Run Code Online (Sandbox Code Playgroud)
然后我在类中调用execSumStatement:
sql.execSumStatement2 () ;
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到以下错误消息:
java.sql.SQLDataException:ORA-01830:日期格式图片在转换整个输入字符串之前结束
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:951)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:513)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495)
at com.bachelorarbeit.SQLExecutor.execStatement(SQLExecutor.java:20)
at com.bachelorarbeit.SQLExecutor.execSumStatment2(SQLExecutor.java:56)
at com.bachelorarbeit.Test.doGet(Test.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) …
Run Code Online (Sandbox Code Playgroud) 我必须查询日期和时间的更新.我知道如何单独更新日期,但是我在为函数添加时间方面遇到了麻烦.现在,正如它所说,它读起来4/20/2011 1:32:07 PM
.我需要recv_date字段来阅读4/21/2011 7:00:00 AM
.
到目前为止,我的查询是:
UPDATE cxadmin.ro_hist
SET recv_date = '4/21/2011'
WHERE recv_serial_nbr = 'SABTSMSSD'
Run Code Online (Sandbox Code Playgroud) 尽管使用了该TO_TIMESTAMP
函数,但我的查询(在被应用程序触发时)无法执行此错误.
INSERT INTO MY_TABLE_NAME (
UPDATED_DATE,
CREATED_DATE,
TEST_SUBJECT,
THIRD_DATE
) VALUES (
TO_TIMESTAMP('2018-05-31 14:45:32.000', 'YYYY-MM-DD HH24:MI:SSxFF'),
TO_TIMESTAMP('2018-05-31 14:45:32.000', 'YYYY-MM-DD HH24:MI:SSxFF'),
'test',
TO_TIMESTAMP('2018-06-09 14:45:00.000', 'YYYY-MM-DD HH24:MI:SSxFF')
)
Run Code Online (Sandbox Code Playgroud)
这是错误信息 -
{FAILED after 2 ms}
java.sql.SQLDataException: ORA-01830: date format picture ends before converting entire input string
Run Code Online (Sandbox Code Playgroud)
此错误仅在一个环境中引发,但在其他环境中正常工作.
手动执行查询也可以正常工作.
所有环境中的会话时间戳格式都相同(登录时由触发器更新).
我有四个领域:
我需要从头到尾计算差异.我尝试使用to_date(Start_date || Start_Time),但不断收到此错误消息:
ORA-01830:日期格式图片在转换整个输入字符串01830.00000之前结束 - "日期格式图片在转换整个输入字符串之前结束"
谢谢您的帮助.大卫
我在通过java使用Oracle时从数据库中获取日期时遇到问题.如果我在Java中使用它:
SELECT *
from HA2_BOOKINGS
WHERE ROOM like 'R1'
AND BEGINNING >= (TO_TIMESTAMP('2018-06-11 15:11:43.208', 'YYYY-MM-DD HH24:MI:SSXFF'))
AND END <= (TO_TIMESTAMP('2018-06-11 15:11:43.208', 'YYYY-MM-DD HH24:MI:SSXFF'))
Run Code Online (Sandbox Code Playgroud)
我得到ora-01830错误但是当我在oracle本身使用完全相同的东西时,代码可以工作.有谁知道为什么?
我的java代码:
public Collection<Booking> getAllBookingsForRoomInPeriod(Room r, String startDate, String endDate) {
Collection<Booking> bookingsForRoomInPeriod = new ArrayList<Booking>();
SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-dd HH:mm");
parser.setLenient(false);
Date dateBeginning = new Date();
Date dateEnd = new Date();
try {
dateBeginning = parser.parse(startDate);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
dateEnd = parser.parse(endDate);
} catch …
Run Code Online (Sandbox Code Playgroud) SQL在大多数安装中都能正常工作.但是我在加拿大的Oracle安装有问题(可能的日期本地化问题?).
http://www.google.com/search?q=ORA-01830
我正在向生成SQL的专有处理器提供数据.我只提供数据.我希望获得的信息可以帮助我解决问题而不需要处理器的支持.