1

我正在尝试从数据库中检索一些数据(字符串),并对它们执行一些需要将它们转换为DateTime.

不过,首先,我想知道是否可以String从数据库中提取类型的数据,将它们转换为DateTime,然后在报告中使用它们。

不幸的是,我无法更改数据库,我相信这会很有帮助。

所以我查找了转换命令,并想出了这个:

(convert(datetime[10], fld7, 101))

此处使用的(作为 DTEEEFFEC):

SELECT fld2 as EMPNAME, fld5 as EMPCLASSFROM, 
       fld6 as EMPCLASSTO, (convert(datetime[10], fld7, 101)) as DTEEFFEC,
       (b.LNAME  || ', ' || b.FNAME  || ' ' || b.MNAME) AS HROFF 
FROM dbase.table1 
    LEFT JOIN dbase.person_info ON $P{hrStoreOp}= b.ID_PERSONAL
WHERE compname = $P{COMPNAME} order by fld7,fld2 asc

但是,它返回一个错误:缺少右括号,或者,如果我删除括号和 10,则此错误:“DATETIME”:无效标识符

编辑:很抱歉我把它漏掉了,但是使用 Oracle 数据库有什么意义吗?我认为他们都使用类似的 SQL 语句。

4

1 回答 1

2

尝试这个

     CONVERT(VARCHAR(10),GETDATE(),110)

http://www.w3schools.com/sql/func_convert.asp

 SELECT fld2 as EMPNAME, fld5 as EMPCLASSFROM, 
   fld6 as EMPCLASSTO, CONVERT(VARCHAR(10),fld7, 101) as DTEEFFEC,
   (b.LNAME  || ', ' || b.FNAME  || ' ' || b.MNAME) AS HROFF 
 FROM dbase.table1 
   LEFT JOIN dbase.person_info ON $P{hrStoreOp}= b.ID_PERSONAL
 WHERE compname = $P{COMPNAME} order by fld7,fld2 asc
于 2013-03-18T07:43:28.527 回答