その人がユーザー名->johnny123を検索し、そのようなユーザー名がない場合、johnny12345、johnnyboyなどのように入力されたユーザー名のパターンに一致するユーザー名のリストを返すとしたら、クエリはどうなりますか。
質問する
1049 次
3 に答える
2
これはうまくいきます:
SELECT * FROM tablename WHERE username like 'johnny%';
これにより、「johnny」で始まるすべてのユーザー名が検索されます。
于 2012-12-21T06:15:35.790 に答える
1
これにより、johnny123 の 1 つの一致が返されます。それ以外の場合、johnny123 が見つからない場合は、「johnny」で始まるすべてが返されます。エレガントではありませんが、あなたが説明したことを行います。
以下の関数を使用すると、select * from username.test('username');
create function username.test(text)
returns setof text as $$
declare
usr text;
begin
usr := (select username from tablename where v like $1);
if (usr is not null)
then
return next usr;
else
return query (select username from tablename where v like '' || $1 || '%');
end if;
return;
end;
$$ language 'plpgsql';
于 2012-12-21T06:52:15.950 に答える
1
これを試してください:
select * from table_name
where username like '%johnny%';
これにより、ユーザー名に johnny が含まれるすべての行が返されます。たとえば、テーブルに次の 3 つのユーザー名が含まれているとします。
johnny123
123johnny
123johnny456
ユーザー名に johnny が含まれているため、すべての行が返されます。
于 2012-12-21T10:55:12.567 に答える