发新话题
打印

请问从字符串转换日期和/或时间时,转换失败这个问题该如何解决

请问从字符串转换日期和/或时间时,转换失败这个问题该如何解决

tomcat服务器报以下错误:
           at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
l.java:689)
      at java.lang.Thread.run(Thread.java:619)
从字符串转换日期和/或时间时,转换失败。
      at jatools.data.reader.sql.SqlReader.readStart(SqlReader.java:278)
      at jatools.data.reader.sql.SqlReader.getDataset(SqlReader.java:490)
      at jatools.data.reader.sql.SqlReader.doRead(SqlReader.java:481)
      at jatools.data.reader.AbstractDatasetReader.read(AbstractDatasetReader.
va:88)
      at jatools.dom.src.DatasetNodeSource.create(DatasetNodeSource.java:130)
      at jatools.dom.NodeFactory.createChildNodes(NodeFactory.java:45)
      at jatools.dom.ElementBase.getChildElements(ElementBase.java:500)
      at jatools.dom.DatasetBasedNode.getLength(DatasetBasedNode.java:396)
      at jatools.dom.DatasetBasedNode.getFirstChild(DatasetBasedNode.java:239)
      at org.jaxen.dom.DocumentNavigator$1.getFirstNode(DocumentNavigator.java
55)


设计器的sql代码为:
select * from dbo.childbirthdata,dbo.hospitaldata where cb_id=hd_id
and cb_senddate>='${datestar}'
and cb_senddate<='&{dateend}' and hd_belongunit='${belongunit}'  

数据库中这个字段:cb_senddate的数据类型为datetime。

[ 本帖最后由 lfmhr 于 2012-5-29 22:12 编辑 ]

TOP

可能是你传进来的参数,不符合,sql的要求

jor会默认打印出,解析后的sql,到你数据的sql查询窗口去执行,看行不行

TOP

SQL中日期类型与字符串类型相互转换该怎么写

SQL中日期类型与字符串类型怎么相互转换

TOP

在设计器中报sql 出错.从字符串转换日期和/或时间时,转换失败。该如何解决。

sql 出错.从字符串转换日期和/或时间时,转换失败。
com.microsoft.sqlserver.jdbc.SQLServerException: 从字符串转换日期和/或时间时,转换失败。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:197)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:246)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:83)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.<init>(SQLServerResultSet.java:284)

TOP

日期与字符串类型转换,每种数据库,写法都有不一样,如oracle 有 to_date 之类。对于特定数据库,你可以查一下google,如:

mysql string date convert

TOP

我的数据库是my sql 2008的

我的数据库是my sql 2008的

TOP

-- MSSQL Server string to date conversion - datetime string format sql server
-- MSSQL string to datetime conversion - convert char to date sql server

SELECT convert(datetime, 'Oct 23 2012 11:01AM', 100) -- mon dd yyyy hh:mmAM (or PM)

SELECT convert(datetime, 'Oct 23 2012 11:01AM') -- 2012-10-23 11:01:00.000
  

-- Without century (yy) string date conversion - convert string to datetime

SELECT convert(datetime, 'Oct 23 12 11:01AM',     0) -- mon dd yy hh:mmAM (or PM)

SELECT convert(datetime, 'Oct 23 12 11:01AM') -- 2012-10-23 11:01:00.000
  

-- Convert string to datetime sql - convert string to date sql - sql dates format

-- T-SQL convert string to datetime - SQL Server convert string to date

SELECT convert(datetime, '10/23/2016',          101) -- mm/dd/yyyy

SELECT convert(datetime, '2016.10.23',          102) -- yyyy.mm.dd

SELECT convert(datetime, '23/10/2016',          103) -- dd/mm/yyyy

SELECT convert(datetime, '23.10.2016',          104) -- dd.mm.yyyy

SELECT convert(datetime, '23-10-2016',          105) -- dd-mm-yyyy

-- mon types are nondeterministic conversions, dependent on language setting

SELECT convert(datetime, '23 OCT 2016',         106) -- dd mon yyyy

SELECT convert(datetime, 'Oct 23, 2016',        107) -- mon dd, yyyy

-- 2016-10-23 00:00:00.000

SELECT convert(datetime, '20:10:44',            108) -- hh:mm:ss

-- 1900-01-01 20:10:44.000

-- mon dd yyyy hh:mm:ss:mmmAM (or PM) - sql time format

SELECT convert(datetime, 'Oct 23 2016 11:02:44:013AM', 109)

-- 2016-10-23 11:02:44.013

SELECT convert(datetime, '10-23-2016',          110) -- mm-dd-yyyy

SELECT convert(datetime, '2016/10/23',          111) -- yyyy/mm/dd

SELECT convert(datetime, '20161023',            112) -- yyyymmdd

-- 2016-10-23 00:00:00.000

SELECT convert(datetime, '23 Oct 2016 11:02:07:577', 113) -- dd mon yyyy hh:mm:ss:mmm

-- 2016-10-23 11:02:07.577

SELECT convert(datetime, '20:10:25:300',             114) -- hh:mm:ss:mmm(24h)

-- 1900-01-01 20:10:25.300

SELECT convert(datetime, '2016-10-23 20:44:11',      120) -- yyyy-mm-dd hh:mm:ss(24h)

-- 2016-10-23 20:44:11.000

SELECT convert(datetime, '2016-10-23 20:44:11.500',  121) -- yyyy-mm-dd hh:mm:ss.mmm

-- 2016-10-23 20:44:11.500

SELECT convert(datetime, '2008-10-23T18:52:47.513',  126) -- yyyy-mm-ddThh:mm:ss.mmm

-- 2008-10-23 18:52:47.513


-- Convert DDMMYYYY format to datetime

SELECT convert(datetime, STUFF(STUFF('31012016',3,0,'-'),6,0,'-'), 105)

-- 2016-01-31 00:00:00.000

-- SQL string to datetime conversion without century - some exceptions

SELECT convert(datetime, '10/23/16',          1)                  -- mm/dd/yy

SELECT convert(datetime, '16.10.23',          2)                  -- yy.mm.dd

SELECT convert(datetime, '23/10/16',          3)                  -- dd/mm/yy

SELECT convert(datetime, '23.10.16',          4)                  -- dd.mm.yy

SELECT convert(datetime, '23-10-16',          5)                  -- dd-mm-yy

SELECT convert(datetime, '23 OCT 16',         6)                  -- dd mon yy

SELECT convert(datetime, 'Oct 23, 16',        7)                  -- mon dd, yy

SELECT convert(datetime, '20:10:44',          8)                  -- hh:mm:ss

SELECT convert(datetime, 'Oct 23 16 11:02:44:013AM', 9)

SELECT convert(datetime, '10-23-16',          10)                 -- mm-dd-yy

SELECT convert(datetime, '16/10/23',          11)                 -- yy/mm/dd

SELECT convert(datetime, '161023',            12)                 -- yymmdd

SELECT convert(datetime, '23 Oct 16 11:02:07:577', 13)        -- dd mon yy hh:mm:ss:mmm

SELECT convert(datetime, '20:10:25:300',        14)           -- hh:mm:ss:mmm(24h)

SELECT convert(datetime, '2016-10-23 20:44:11',20)            -- yyyy-mm-dd hh:mm:ss(24h)

SELECT convert(datetime, '2016-10-23 20:44:11.500', 21)       -- yyyy-mm-dd hh:mm:ss.mmm

TOP

发新话题