част от стринг в друг стринг
2 отговора
315 прегледа
част от стринг в друг стринг
Има ли начин със заявка на MySQL 3.23, 4.0, 4.1 да намеря дали част от даден стринг (примерно 6 символа) се съдържа в друг стринг
Примерно
qwertyvuiopasdfgh
и
mnkeigjtyvuioeurncbsa
Примерно
qwertyvuiopasdfgh
и
mnkeigjtyvuioeurncbsa
Re: Ако частта ти е известна да
Т.е. ако знаеш, че търсиш
'tyvuio'
то тогава
x LIKE '%tyvuio%'
Обаче ако въпросът ти е дали произволна поредица от символи се среща и в двата стринга то задачката е доста по-сложна и определено я няма решена наготово в SQL стандарта.
Дори на ниво алгоритъм е доста трудно да се реши защото първи ще трябва да дефинираш минимална дължина на съвпадащия стринг после правила за приоритет при попадение.
В твоите стрингове например освен 'tyvuio' имаме следните други попадения:
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
Как трябва да се дефинира алгоритъма така, че да не върне тези попадения а само 'tyvuio' ?
salle.online.bg/sig
'tyvuio'
то тогава
x LIKE '%tyvuio%'
Обаче ако въпросът ти е дали произволна поредица от символи се среща и в двата стринга то задачката е доста по-сложна и определено я няма решена наготово в SQL стандарта.
Дори на ниво алгоритъм е доста трудно да се реши защото първи ще трябва да дефинираш минимална дължина на съвпадащия стринг после правила за приоритет при попадение.
В твоите стрингове например освен 'tyvuio' имаме следните други попадения:
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
qwertyvuiopasdfgh
mnkeigjtyvuioeurncbsa
Как трябва да се дефинира алгоритъма така, че да не върне тези попадения а само 'tyvuio' ?
salle.online.bg/sig
Re: Ако частта ти е известна да
Преди време ми се беше налагало да пиша подобно нещо. Единственото свясно решение, което открих беше мешания между клиент и сървър сайд. С Джава Скрипт и <script src="query.php"> си връщах пълен масив от от всичките записи в базата. После на клиент сайд сравнявах с indexOf. за съвпадения и ги отсявах едно по едно. Оказа се, че само ако го изпълнявам само на сървъра и забиваше при няколко хиляди записи, а на клиентската машина просто извеждах едно "Информацията се обработва..." и циклите се въртяха яко. Не се сещам и сега за друг вариянт и дано не ми се наложи да го правя пак товя
Весели Празници на всички!
Весели Празници на всички!