我们有一种情况,我们在Oracle DB中有一个表(比如表单),它有一个类型为date的列(比如edition_date).它严格意味着以YYYY-MM-DD(例如:2012-11-23)格式保存日期信息,没有时间戳值.
不幸的是,由于代码问题,很多行都是使用时间戳值创建的.此表中有大量记录,我只想更新那些包含这些错误数据的行.我可以使用查询来做到这一点
UPDATE forms SET edition_date = TRUNC( edition_date )
Run Code Online (Sandbox Code Playgroud)
我想为它添加一个where子句,因此它只更新坏数据.问题是,我不知道如何检索添加了时间戳的行.以下是我所拥有数据的快照:
FORM_ID EDITION_DATE
5 2012-11-23
6 2012-11-23 11:00:15
..
11 2010-07-11 15:23:22
..
13 2011-12-31
Run Code Online (Sandbox Code Playgroud)
我只想检索表格ID为6和11的行.我使用长度函数进行了三次尝试,但我认为这仅适用于字符串.有没有办法做到这一点.谢谢任何可以帮助我的人.
我正在将一个简单的Web应用程序从Jboss 4.3移动到Jboss 6 EAP(Jboss AS 7.2).但是,由于错误,我无法部署战争
07:43:17,773 ERROR [org.springframework.web.context.ContextLoader] (ServerService Thread Pool -- 63) Context initialization failed: java.lang.NoSuchMethodError: org.springframework.beans.factory.config.ConfigurableListableBeanFactory.registerResolvableDependency(Ljava/lang/Class;Ljava/lang/Object;)V
at org.springframework.context.support.AbstractApplicationContext.prepareBeanFactory(AbstractApplicationContext.java:458) [spring-2.5.5.jar:2.5.5]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:356) [spring-2.5.5.jar:2.5.5]
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:255) [spring-2.5.5.jar:2.5.5]
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:199) [spring-2.5.5.jar:2.5.5]
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:45) [spring-2.5.5.jar:2.5.5]
at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3339) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3777) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [rt.jar:1.7.0_60]
at java.util.concurrent.FutureTask.run(Unknown Source) [rt.jar:1.7.0_60]
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [rt.jar:1.7.0_60]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [rt.jar:1.7.0_60]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_60]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Run Code Online (Sandbox Code Playgroud)
我不确定需要做什么.war文件使用的Spring库是版本2.5.5,并且捆绑在WEB-INF/lib目录中的war 0中.
任何帮助解决我的问题,将不胜感激.谢谢.
有没有办法更新Date类型的列的日期部分.例如,DB中的行具有值2013-11-22 [以YYYY-MM-DD格式存储].我想把它更新到2013-11-01.
如果它是一行或几行我可以做一个简单的更新.但真正的问题是大约有十万行具有不同的日期值.我想将所有日期更新到每月1日.例如
Actual What I would like it to be
2013-01-22 2013-01-01
1989-10-03 1989-10-01
2004-07-01 2004-07-01
2005-12-31 2005-12-01
Run Code Online (Sandbox Code Playgroud)
非常感谢任何帮助,我如何通过SQL完成这项工作.提前致谢.