0

次のような値を含むスキーマに列があります。

male, Brown, Blue, Small body build, 1.63

male, Brown, Blue, Small body build, 1.85

male, Brown, Blue, Small body build, 1.75

数値が 1.63 から 1.75 の間にあるすべてのオブジェクトを抽出するクエリを作成したいと思います。上記の 3 つの例を見ると、上記で指定した数値が文字列に埋め込まれていることに注意してください。また、これらの文字列全体が 1 つのファイルに格納されていることにも注意してください。コラム、それを行う方法について何かアイデアはありますか?

4

3 に答える 3

1

次のように、多くの SQL ダイアレクトでこれを行うことができます。

select *
from t
where right(col, 4) between '1.63' and '1.75'

数値の小数点以下の位置が同じであるため、文字列比較が機能します。

于 2013-06-01T23:00:44.670 に答える
0
select * from tableName 
where convert(int, substr(columnName,LENGTH(columnName)-4,4)) BETWEEN 1.75 AND 1.63 

これは、整数部分を一部の構文 ((d.​​dd) など) に制限することなく機能するはずですが、長さ 4 である必要があります。

編集

Between はよりエレガントな使い方があります。

于 2013-06-01T23:03:18.093 に答える