|
почему where upper() = lower()
|
|||
---|---|---|---|
#18+
пишу SQL Script, убираю разницу, буквы большие, маленькие и так далее, и вижу чудо:! почему всегда равно делаю условие where (upper('TExt') = lower('TeXT')) = true или (upper('TExt') = 'text') = true P.S. версия MariaDB 10.5 в MariaDB второй месяц, до этого был Oracle ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2021, 17:50 |
|
почему where upper() = lower()
|
|||
---|---|---|---|
#18+
yemets63, case-insensitive collate, видимо. https://dev.mysql.com/doc/refman/8.0/en/charset-collate.html ... |
|||
:
Нравится:
Не нравится:
|
|||
15.03.2021, 18:05 |
|
почему where upper() = lower()
|
|||
---|---|---|---|
#18+
yemets63, вот тут простым языком: https://ru.stackoverflow.com/questions/675040/Чувствительность-к-регистру-при-запросе-mysql "В MySQL сравнение строк производится с учетом правил сравнения (COLLATE) заданным для базы, таблицы, поля или в самом запросе. Понять как будет происходит сравнение просто: если кодировка задана правильно и в COLLATE есть суффикс _ci (case insensitive) - при сравнении символы в разном регистре будут считаться одинаковыми, если _cs (case sensitive) или _bin - сравнение будет строгим" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2021, 11:12 |
|
|
start [/forum/topic.php?fid=47&fpage=10&tid=1828142]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 10ms |
total: | 130ms |
0 / 0 |