1
votes

Comment sélectionner des titres qui ressemblent aux n premiers caractères d'une chaîne?

Voici un exemple

Il y a des titres de certains animes:

SELECT title FROM table_name WHERE title LIKE the first 10 characters of a given string

Et j'aimerais sélectionner ces titres, qui contiennent les 10 premiers caractères du premier record, donc "My Hero Academia" dans cet exemple

Il est important que ce soit les N premiers caractères, comme 10,15,20. Donc SELECT title FROM nomtable WHERE title LIKE "% My hero Academia%" n'est pas la solution que je recherche.

Aussi: ce n'est qu'un exemple, il y en a beaucoup d'autres titres aussi, et je ne sais pas toujours quels sont les 10 premiers personnages. Je ne peux donc pas non plus simplement mettre les 10 premiers caractères de "My hero academia" dans la clause WHERE title LIKE .

Je veux dire quelque chose comme ceci:

XXX

Existe-t-il un moyen de faire cela avec SQL? Merci d'avance pour toute aide!


1 commentaires

pouvez-vous fournir plus de précisions


7 Réponses :


0
votes

Mettez les 10 caractères comme ceci:

WHERE title LIKE 'aaaaaaaaaa%'


0 commentaires

0
votes
WHERE SUBSTRING(title, 1, n) = 'aaaaaaaaa'

0 commentaires

3
votes

pour filtrer une chaîne pour une valeur fixe partielle, vous pouvez utiliser comme opérateur comme 'yourstring%' par exemple:

    SELECT title 
    FROM your_table  
    WHERE left(title,10) = 'thefirst10'  

    SELECT title 
    FROM your_table  
    WHERE substr(title,1,10) = 'thefirst10'  

ou utiliser une fonction de chaîne comme substr ou gauche

    SELECT title 
    FROM your_table  
    WHERE title LIKE 'thefirst10%'  


0 commentaires

0
votes

Essayez ceci:

SELECT title FROM table_name WHERE title like "data structure%"


0 commentaires

0
votes
SELECT title FROM TABLE_NAME WHERE title LIKE '%'  + substring('AAA' , 0 ,2)
First parameter of substring function represent of your string ,second start index and third end index.You can change end index as you want.

0 commentaires

0
votes

Utilisez le caractère générique (%):

SELECT title FROM table_name WHERE title LIKE "1234567890%"


0 commentaires

0
votes

cela pourrait vous aider à fonctionner pour mon postgray11. ithink il sera hwlp pour votre mysql

select * from t1 where title LIKE CONCAT((select * from t1 LIMIT 1),'%');

démo ici a >


0 commentaires