Приведення типів в mysql
Тут мова піде про основні способи приведення типів в MySQL. Заздалегідь слід обумовити той момент, що в більшості випадків приведення типів в MySQL спрацює автоматично, наприклад:
Однак в ряді випадків потрібне спеціальне приведення типів, про них і піде мова далі.
Випадок перший - Порівняння рядків (ключове слово BINARY)
В СУБД MySQL порівняння тестових рядків не є чутливою до порівнюваних рядків. Наприклад, якщо ми будемо порівнювати рядки «Чупакабра крутий» і «чупакабра КРУТ», то MySQL вважатиме їх ідентичними.
Однак, є метод щоб обійти цю особливість, полягає він у порівнянні двох рядків як довічних послідовностей, для цього рядок за допомогою ключового слова BINARY перетворюється в таку.
Використовувати ключове слово BYNARY в даному випадку, можливо як зліва від оператора порівняння так і праворуч.
Випадок другий - функція CAST
В MySQL існує функція CAST () - яка є стандартною функцією SQL і підтримується і багатьма іншими базами даних крім MySQL.
Призначення функції CAST () - це перетворення виразу з одного типу в інший.
Функція має наступний синтаксис:
Результатом роботи даної функції, буде перетворене вираз expr до типу type.
Тип type. може приймати значення:
Приклад роботи функції:
Функція CAST () часто використовується для сортування полів типу ENUM за алфавітом а не за чисельним значенням.
Робиться це так:
Також функція часто використовується для приведення формату дати:
Випадок третій - перекодування CONVERT
Третій варіант зміни типу даних, використання функції CONVERT () яка має наступний синтаксис:
У першому варіанті дію функції CONVERT () ідентично функції CAST ().
Другий варіант функції CONVERT () використовується для перетворення тексту з одного кодування в іншу.
Існує і альтернативний синтаксис:
При цьому варіанті перед перетворюється рядком поміщається ім'я кодування, яке передує символ підкреслення.