你的这些问题你是要修改数据库里面的结构还是要把取到的field进行类型转换?如果是后者
可以用
Float.valueOf(String) 一类的函数来做到。Date类里面有很多日期转换函数。Date.toString() 就可以把日期转换为字符串。所谓的左填充和右填充~~~ 是什么意思?String有各种添加删除操作,如果只是加上几个字符的话
只要
String str = "######"+str;// 这就是左填充??? 呵呵

解决方案 »

  1.   

    呵呵,我的左填充指的是一个字符串在不满足一个长度的时候就直接在左边或者右边用一个字符去填充。
    就好象oracle里面的lpad一样。
      

  2.   

    问题:
    我想实现的就是截取substr(moduleid,-3,3),然后转换成数字型,再取max值,不知道在hibernate里面用hql语句怎么去实现.在oracle里面用sql语句是这样实现的
    select max(to_number(substr(module,-3,3))) from sys_module;
    怎么转化成hql语句.
      

  3.   

    1.写HQL之前转: 
    Float.parseFloat(String),Integer.parseInt(String)。
    在Hql中转:
    to_number('1999')2.Date.toString() .不了解具体的填充是指什么
      

  4.   

    填充就是:如下例
    我数据库里面有字段moduleid,此值的长度必须是6位
    如果我给这个字段赋值的时候值的长度不足六位那么我就用一字符填充。(比如我用0来代替)9.RPAD和LPAD(粘贴字符) 
    RPAD 在列的右边粘贴字符 
    LPAD 在列的左边粘贴字符 SQL> select lpad('1',6,'0') from dual; (oracle里面的写法)
    lpad('1',6,'0')
    ----------------- 000006
    不够字符则用0来填满 
      

  5.   


    String这个class完全满足你的这个简单的要求。只不过你可能要写几行代码。
      

  6.   

    上面两位说的,我调试通不过啊。
    我的hql语句:
    String hql = "select Integer.parseInt(moduleid) from SysModule where parentid = ?";
    用Integer.parseInt(String)报下面的错误。java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.MethodNode 
     \-[METHOD_CALL] MethodNode: '('
        \-[METHOD_NAME] SqlNode: 'exprList'
           \-[IDENT] IdentNode: 'moduleid' {originalText=moduleid} at org.hibernate.hql.ast.SelectClause.initializeExplicitSelectClause(SelectClause.java:136)
    at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:440)
    at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:351)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.afterQuery(HqlSqlBaseWalker.java:126)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:471)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
    at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
    at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
    at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
    at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
    at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
    at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:826)
    at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:365)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:817)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:813)
    at com.ems.business.spring.dao.imp.SysModuleDAO.getModuleId(SysModuleDAO.java:31)
    at com.ems.test.testQ.testclass(testQ.java:14)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)-------------------------------------------------------------------------------------
    我的hql语句
    String hql = "select Float.valueOf(moduleid) from SysModule where parentid = ?";java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.MethodNode 
     \-[METHOD_CALL] MethodNode: '('
        \-[METHOD_NAME] SqlNode: 'exprList'
           \-[IDENT] IdentNode: 'moduleid' {originalText=moduleid} at org.hibernate.hql.ast.SelectClause.initializeExplicitSelectClause(SelectClause.java:136)
    at org.hibernate.hql.ast.HqlSqlWalker.useSelectClause(HqlSqlWalker.java:440)
    at org.hibernate.hql.ast.HqlSqlWalker.processQuery(HqlSqlWalker.java:351)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.afterQuery(HqlSqlBaseWalker.java:126)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:471)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:201)
    at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:151)
    at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:189)
    at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:130)
    at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:83)
    at org.hibernate.impl.SessionFactoryImpl.getQuery(SessionFactoryImpl.java:427)
    at org.hibernate.impl.SessionImpl.getQueries(SessionImpl.java:884)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:834)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:74)
    at org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:826)
    at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:365)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:817)
    at org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:813)
    at com.ems.business.spring.dao.imp.SysModuleDAO.getModuleId(SysModuleDAO.java:31)
    at com.ems.test.testQ.testclass(testQ.java:14)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:478)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:344)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
      

  7.   

    汗,兄弟啊。Integer不是这么用的他不能嵌入到Sql里面需要得到结果集以后再进行转化
      

  8.   

    但我必须先转换了,本来这就是hql处理的问题。
      

  9.   

    怎么把这句sql语句给转换成hql语句。在oracle里面用sql语句是这样实现的
    select max(to_number(substr(module,-3,3))) from sys_module;