Autor | Zpráva | ||
---|---|---|---|
Exkalibr Profil * |
#1 · Zasláno: 17. 2. 2020, 15:37:45
Odesílám data z formuláře kde se vyplňuje subject, description a text. V tabulce topics rovněž tyto sloupce existují. Když to odesílám chtěl bych zjistit zda v posledních deseti záznamech není již podobná hodnota text.
Příklad záznamu v tabulce: subject = "První článek", description = "Jak psát web", text = "Lorem ipsum dolor sit amet." Nyní odesílám podobný příspěvěk: subject = "První článek", description = "Jak psát web", text = "Lorem ipsum dolor sit." Abych zjistil shodu, potřebuju nejdříve oba texty oříznout např. na 20 znaků a pak porovnat. Víte jak na to? |
||
Keeehi Profil |
#2 · Zasláno: 17. 2. 2020, 23:41:41
SELECT * FROM ( SELECT * FROM posts ORDER BY date DESC -- nebo jiný sloupec podle kterého poznáš stáří LIMIT 10 ) t WHERE SUBSTRING(t.text, 0, 10) = "Lorem ipsu"; |
||
Exkalibr Profil * |
#3 · Zasláno: 18. 2. 2020, 15:08:38
Díky moc :)
|
||
Exkalibr Profil * |
#4 · Zasláno: 18. 2. 2020, 17:40:31
Ještě jsem zjistil, že mám mysql 5, resp. mysqlnd 5.0.10, tak to nejede, tam je podpora od 5.6 www.w3resource.com/mysql/string-functions/mysql-substring-function.php
Ale přišel jsem na to, že mohu stejně použít LEFT(proměnná, délka)
www.w3resource.com/mysql/string-functions/mysql-left-function.php Kde je příklad SELECT pub_name, LEFT(pub_name, 5) FROM publisher; |
||
Keeehi Profil |
#5 · Zasláno: 19. 2. 2020, 00:52:34
Tak substring je vlastně jen alias funkce substr, která je v MySQL od veze 4.0 ale left bude samozřejmě fungovat taky.
|
||
Časová prodleva: 4 dny
|
|||
Exkalibr Profil * |
#6 · Zasláno: 23. 2. 2020, 10:59:22
Ještě dotaz. Ten limit vlastě zkrátí ty výsledky na určitý počet, ale existuje nějaká klauzule, která by omezila tu vstupní množinu záznamů ve které hledám?
|
||
Kajman Profil |
#7 · Zasláno: 23. 2. 2020, 12:32:23
Proto je limit v poddotaze a where až na výsledek.
|
||
Časová prodleva: 5 let
|
0