2012-01-11 19 views
1

私はsybaseデータベースの1つのテーブルから別のデータベース(SQL Server 2008)にすべてのデータをコピーするJavaアプリケーションを持っています。これは正常に動作し、私はjTDSを使用しています。今私は値 "FLM"と "NONFLM"を含むテーブルの列からデータを選択したいと思います。私は、SQL ServerのクエリでSQL Server 2008のテーブルでクエリが動作しません

select * from table where colName = 'FLM' 

を実行するが、何も結果が返されません。私はこの列をトリミングしましたが、結果を得ることができませんでした。テーブルには "FLM"値の列があります。同じことが他の列にあります整数値が文字列の列にコピーされた唯一の列で空白を見つけることができません。私はすべての列を文字列として持っています。

+1

'colName LIKE '%FLM%''を使用するとどうなりますか? –

+0

@Ocaso Protalのようなものを使用すると動作します。 – kinkajou

+0

次のように試してみてください:SELECT colName、LEN(colName)FROM table WHERE colName LIKE '%FLM%' ' –

答えて

1

コメントに見られるように、1文字が多すぎるあなたのコラム(?String#trim())だからあなたのJavaのimportを調整したり、テーブルの値を更新し、次のいずれか

UPDATE table SET colName = SUB(colName,0,LEN(colName)) 
WHERE ASCII(SUBSTRING(colName,LEN(colName),1)) = 0 

気をつけろ!これはテストされていないので、使用する前にトランザクションでラップしてください。

0
select * from table where colName IN ('FLM', 'NONFLM') 
+0

これはSSMSから空の結果を与えます。実際にはFLMだけを選択したいと思っています。輸送中にデータに何かが起こっています。 – kinkajou

-1

このクエリが正しいか、

あなたは...

を正しいデータベースを選択していないことがことがありますが、これを実行すると、結果が何であるかを

はテーブル

から選択*
+0

OPが検索結果としてcolNameがFLMまたはNONFLMであるため、クエリが正しくない – Curt

0

問題はデータベースに存在する可能性があります。

試してみてください。

use databasename 
go 
select * from table where colName = 'FLM' 
go 

か:また

select * from databasename..table where colName = 'FLM' 

、あなたが1以上のものを見つけるためにINを使用する必要がある場合:

select * from databasename..table where colName IN ('FLM', 'NONFLM') 
関連する問題