Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查询不使用SQL server 2008中的表_Java_Sql Server_Database_Jdbc_Sybase - Fatal编程技术网

Java 查询不使用SQL server 2008中的表

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的列中都找不到空白。我将所有列都设置为字

我有一个java应用程序,它将所有数据从sybase数据库的一个表复制到另一个sql server 2008数据库。这很好,我正在使用jTDS。现在,我想从包含值FLM和NONFLM的表列中选择数据。我执行了查询

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