文字列内の特定の位置にある特定の値についてテーブルをチェックするクエリを phpmyadmin (mysql) で実行しようとしています。5 位の値「1」を見つけて、これを持っているすべてのユーザーを表示しようとしています。
SELECT*
FROM`user`
WHERE`options`LOCATE(`options`,1,5)
LIMIT 0 , 30
よろしく、 サイロ
文字列内の特定の位置にある特定の値についてテーブルをチェックするクエリを phpmyadmin (mysql) で実行しようとしています。5 位の値「1」を見つけて、これを持っているすべてのユーザーを表示しようとしています。
SELECT*
FROM`user`
WHERE`options`LOCATE(`options`,1,5)
LIMIT 0 , 30
よろしく、 サイロ
Locate は、文字列内のどこからでも値を見つけるためのものです。特定の場所のみが必要な場合は、substr()
代わりに次を使用します。
SELECT *
FROM user
WHERE substr(options, 5, 1) = '1'
別 ;)
SELECT *
FROM user
WHERE instr(options, '1') = 5
当たり前..最初の出現のみを返すので、うまくいきません:$しかし、参照を確認してください。
Locate()
サンプルデータ:
COL1 COL2
G11 112
G11-1 0
G11-2 2
G12-2 111
クエリ 1:
-- to check on varchar columns
SELECT *
FROM tablex
where locate('1',col1,5)
;
varchar の結果:
COL1 COL2
G11-1 0
クエリ 2:
-- to check on int columns
SELECT *
FROM tablex
where locate(1,col2,2)
;
int の結果:
COL1 COL2
G11 112
G12-2 111
あなたは試すことができます
SELECT*
FROM`user`
WHERE options LIKE '____1%'
LIMIT 0 , 30