2016-04-25 16 views
1

私はワインの名前、価格などを含む大規模なデータベースに取り組んでいます... ボトルごとに$ 10以下のすべてのシャルドネのテーブルを照会したいのですが私は$ 10の結果を得続けます。私はシャルドネのみ問い合わせる場合SQLiteは同等の結果しか返しませんより

dbGetQuery(db, "SELECT Name, Price FROM Wines 
     WHERE price<=10 
     AND name LIKE '%Chardonnay%'") 

私はそこにある見ることができるいくつかの私は、上記のクエリを実行すると$ 10

895             Chardonnay 12 
896           Reserve Chardonnay 16 
897             Chardonnay 10 
898          Wyckoff Vyd Chardonnay 21 
899           Reserve Chardonnay 29 
900            Fume Chardonnay  9 
901         Barrel Fermented Chardonnay 13 
902           Reserve Chardonnay 11 
903             Chardonnay 10 
904         Woodburne Cuvée Chardonnay 14 
905             Chardonnay  7 

私が手の下で、この:すべての55回の結果は10を持っていた

50        Chardonnay 10 
51        Chardonnay 10 
52        Chardonnay 10 
53        Chardonnay 10 
54        Chardonnay 10 
55        Chardonnay 10 

価格として

私はそれが書式設定の問題でなければならないように感じますが、私はそれを正しく得ることができませんでした

+3

'DISTINCT typeof(Price)FROM Wines'の出力は何ですか? –

答えて

2

SQliteは動的な型指定を使用し、文字列をint列に挿入できます。価格が文字列として挿入されているか、価格列が数値(整数、浮動小数点数)の列ではない可能性があります。列が正しいタイプで、価格値が正しいタイプとして挿入されていることを確認してください。

+0

ありがとう、それはすべてのテキストだった。私が見つけたものから、SQLiteのデータ型を変更する良い方法はありませんが、それは正しいのですか?私は元のデータフレームの値を変更し、それを私のデータフレームに再ロードし、クエリは正しく動作しています。 –

+0

実際にデータ型を変更する良い方法はありません。テーブルを削除して再作成する必要があります。 –

関連する問題