Java 查询不使用SQL server 2008中的表
我有一个java应用程序,它将所有数据从sybase数据库的一个表复制到另一个sql server 2008数据库。这很好,我正在使用jTDS。现在,我想从包含值FLM和NONFLM的表列中选择数据。我执行了查询Java 查询不使用SQL server 2008中的表,java,sql-server,database,jdbc,sybase,Java,Sql Server,Database,Jdbc,Sybase,我有一个java应用程序,它将所有数据从sybase数据库的一个表复制到另一个sql server 2008数据库。这很好,我正在使用jTDS。现在,我想从包含值FLM和NONFLM的表列中选择数据。我执行了查询 select * from table where colName = 'FLM' 在sql server中,但未返回任何结果。我修剪了此列,但无法获得结果。表中有一列具有FLM值。同样,对于其他列,我在任何一个将整数值复制到字符串列works的列中都找不到空白。我将所有列都设置为字
select * from table where colName = 'FLM'
在sql server中,但未返回任何结果。我修剪了此列,但无法获得结果。表中有一列具有FLM值。同样,对于其他列,我在任何一个将整数值复制到字符串列works的列中都找不到空白。我将所有列都设置为字符串。此查询是正确的
select * from table where colName IN ('FLM', 'NONFLM')
可能是您没有选择正确的数据库
运行此操作的结果是什么
从表中选择*问题可能存在于数据库中 尝试: 或: 此外,如果您应该在中查找多个:
select * from databasename..table where colName IN ('FLM', 'NONFLM')
从评论中可以看出,您的专栏中有一个字符太多了。所以要么调整java导入Stringtrim?或更新表中的值:
UPDATE table SET colName = SUB(colName,0,LEN(colName))
WHERE ASCII(SUBSTRING(colName,LEN(colName),1)) = 0
当心!这是未经测试的,所以在使用它之前将其包装在事务中。当您使用像“%FLM%”这样的colName时,您会得到什么?@Ocaso Protal它在使用像“%FLM%”这样的colName时起作用。好的,下一次尝试:SELECT colName的结果是什么,从colName类似“%FLM%”的表中获取LENcolName@OcasoProtal它为SELECT colName返回4,LENcolName,该表中的colName如“FLM%”再加一个;:从表中选择colName、LENcolName、ASCIIsubstringcolName、4,1,其中colName如“FLM%”可能会得到13个ASCII值,因此每个值都会添加一个CR。查询不正确,因为OP正在查找colName为FLM或nonflm的结果。这会从SSMS中得到空结果。实际上,我只想选择FLM。数据在传输过程中发生了一些问题。
select * from databasename..table where colName IN ('FLM', 'NONFLM')
UPDATE table SET colName = SUB(colName,0,LEN(colName))
WHERE ASCII(SUBSTRING(colName,LEN(colName),1)) = 0