数字の範囲を使用してテーブルからデータを選択しようとしています。要するに、6から9の範囲の数字があるパスを選択したいと考えます。sqlはbetweenとlikeの間で選択します
$sql = "select * from users where path_name like between '%6%' and '%9%' ";
何も返されません。
誰かがこれを行うより良い方法はありますか?
数字の範囲を使用してテーブルからデータを選択しようとしています。要するに、6から9の範囲の数字があるパスを選択したいと考えます。sqlはbetweenとlikeの間で選択します
$sql = "select * from users where path_name like between '%6%' and '%9%' ";
何も返されません。
誰かがこれを行うより良い方法はありますか?
を使用することができますこれは私が男を探していたものです
$sql1 = "select * from users where path_name REGEXP '[6-9]'";
参考 Regular expressions
すばらしい、今これを答えとしてマークすることができます:) – Eric
あなたは6
と9
間のすべての数値を返すようにしたい場合は、like
を必要としません:
$sql = "select * from users where path_name between 6 and 9";
パス名には、download5、download6、download7、download8、download9、download10などの値があります。私は6から8までの数字に基づいてパス名を選択したいと思っています。それでなぜ私は 'like'を使いたいのですか? –
PATH_NAMEはあなたが条件文を使用する必要があります数ですので。 where path_name >= 6 and path_name <= 9
の使用を検討するか、鋭い条件で5と10を使用して簡単にしてください。
SELECT * FROM USERS
WHERE SUBSTR(PATH_NAME, 4, len(PATH_NAME)-4) BETWEEN 6 and 9
6から9までの値がダミーであることを覚えておいてください。私はリアルタイム変数を動的変数に置き換えます。 –
http://forgetcode.com/Teradata/1619-SUBSTR SUBSTR()の詳細を知りたい場合 –
それはSQL Serverのであれば、Like
はレンジの試合で
declare @users table (path_name varchar(10))
insert @users values
('download1'), ('download3'), ('download5'), ('download6'),
('download7'), ('download9'), ('download10')
select * from @users where path_name like '%[6-9]%'
それはMySQLが使用していると仮定すると、[REGEXP](http://dev.mysql.com/doc/refman/5.7/en/regexp.html) – cha
あなたが実際に達成しようとしているかの詳細を提供します。間は、文字列値にどのようにしたいかは機能しません。 –
どのDBMSを使用していますか?そしてあなたの質問を編集して、テーブル定義を 'create table'文として追加してください。[スクリーンショットはありません](http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload- 285557#285557) –