2питания

6 отговора 309 прегледа
#1

2питания

Имам 2 питания. Моля за вашата помощ!

1. Имам сървар с инсталиран MySQL и проблем със следната заявка
SELECT name FROM table1 WHERE name LIKE '%Я%'
не ми дава имена в които има малко 'я'
проблема е същия и с 'Ч' и 'ч', с останалите букви няма проблем
какво да правя, къде е проблема?

2. Как да напиша заявяка, която сменя част на съдържанието от дадено поле
например: искам навсякъде където в полето name има 'xxxYYYzzzz' да го сменя с 'xxxHELLOzzzz'

Благодаря предварително!

Отговор
в отговор на Lizard #2

Re: 2питания

значи и при мене го имеше този проблем с InterBase, просто кирилицата не я уважават като език :)))
затова си направих труда и написах :

SELECT name FROM table1 WHERE name LIKE '%Я%' and name LIKE '%я%'

по някой път става и конструкцията

SELECT name FROM table1 WHERE UPPER(name) LIKE '%Я%'

Отговор
в отговор на Eмилиo #3

Re: 2питания

SELECT name FROM table1 WHERE name LIKE '%Я%' and name LIKE '%я%'

Това няма как да работи.

Виж ако смениш AND с OR .....

Linux is like a wigwam - No Windows, No Gates, Apache inside
Отговор
в отговор на Eмилиo #4

Re: 2питания

За InterBase6 пробвай collate win1251

Отговор
в отговор на Lizard #5

Re: 2питания

SELECT name FROM table1 WHERE UPPER(name) LIKE '%Я%'
SELECT name FROM table1 WHERE LOWER(name) LIKE '%я%' .
обаче до колкото не ме лъже паметта в MYSQL нямаше тези 2 функции.
освен това за да работят коректно ! трябва да си конструирал базата данни
със съответният char set независимо за кой SQL сървер се отнася.
на 2 въпрос .основно тия работи се правят със
SUBSTR- тази функция връща част от стринга и вече си го обработваш.

Отговор
в отговор на salle #6

Re: 2питания

:)))
Прав си, в бързината не съм видял какво съм написал :)

Отговор
в отговор на Lizard #7

Re: 2питания

za vtoria vypros - mai she trebva da izpolzvash kursori...mda.......

Отговор