Maison >base de données >SQL >Instruction de requête floue SQL
Instruction de requête floue SQL
La syntaxe générale de l'instruction floue est la suivante :
SELECT 字段 FROM 表 WHERE 某字段 Like 条件
À propos des conditions , SQL fournit Il existe quatre modes de correspondance :
1 % : représente 0 ou plusieurs caractères. Peut correspondre à des caractères de n'importe quel type et longueur. Dans certains cas, s'il s'agit de chinois, veuillez utiliser des signes de deux pour cent (%%) pour l'exprimer.
SELECT * FROM [user] WHERE u_name LIKE '%三%'
trouvera tous les enregistrements avec "trois" dans u_name comme "Zhang San", "Zhang Cat San", "Three-legged Cat", "Tang Sanzang", etc. De plus, si vous avez besoin de trouver des enregistrements contenant à la fois "三" et "cat" dans u_name, veuillez utiliser la condition et
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
Si vous utilisez
SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
, vous pouvez rechercher pour "三级" Cat", mais la recherche de "Zhang Cat San" qui remplit les conditions est introuvable.
2. _ : représente n'importe quel caractère. Correspond à un seul caractère arbitraire. Il est souvent utilisé pour limiter la longueur des caractères des expressions :
SELECT * FROM [user] WHERE u_name LIKE '_三_'
Recherchez uniquement "Tang Sanzang" pour que u_name soit composé de trois caractères et que le caractère du milieu soit "三". " ;
SELECT * FROM [user] WHERE u_name LIKE '三__';
Trouver uniquement "chat à trois pattes" dont le nom comporte trois caractères et le premier caractère est "三";
3. [ ] : représente l'un des caractères listés entre parenthèses (semblable à une expression régulière). Spécifiez un caractère, une chaîne ou une plage et exigez que l'objet correspondant soit l'un d'entre eux.
SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
trouvera "Zhang San", "Li San", "Wang San" (au lieu de "Zhang Li Wang San"
comme [ ] If); il y a une série de caractères (01234, abcde, etc.), elle peut être abrégée en "0-4", "a-e"
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
trouvera "old 1", "old 2" ,... ..., "老9";
4, [^] : Indique un seul caractère non répertorié entre parenthèses. Sa valeur est la même que celle de [], mais elle nécessite que l'objet correspondant soit un caractère autre que le caractère spécifié.
SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
trouvera "Zhao San", "Sun San", etc. qui ne sont pas nommés "Zhang", "Li", "Wang"
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';; Exclura "Old 1" à "Old 4" et recherchera "Old 5", "Old 6",...
5 Lorsque le contenu de la requête contient des caractères génériques.
function sqlencode(str) str=replace(str,"[","[[]") '此句一定要在最前 str=replace(str,"_","[_]") str=replace(str,"%","[%]") sqlencode=str end functionAvant l'interrogation, la chaîne à vérifier peut être traitée par cette fonction. Le site Web PHP chinois propose un grand nombre de
tutoriels SQL gratuits, tout le monde est invité à apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!