Корисні функції MySQL - WEB Development, WEB
by denisus · Липень 9, 2014
Вітаю вас Читачі. У цій статті я хотів зібрати деякі корисні функції та прийоми для роботи з базою даних MySQL.
сортування рядкового поля (varchar, char) як числового:
Допустимо у нас є табличка, з полем sku типу varchar, в якому зберігаються рядки, що починаються з цифр (різні коди товарів або рахунків фактур).
| 1 | 123 |
| 2 | 11231 |
| 3 | 1125 |
| 4 | 1123b |
| 5 | 1123a |
робимо звичайне сортування за зростанням
і отримуємо ось що, зовсім не те, що очікувалося
| 2 | 11231 |
| 4 | 1123b |
| 5 | 1125a |
| 3 | 1125 |
| 1 | 123 |
так виходить, тому що MySQL розглядає числа як рядки та сортує їх за кодами символів. Щоб уникнути цього, потрібно додатиORDER BY cast(«поле для сортування» AS signed), тобто в нашому випадку
після виконання запиту отримуємо необхідне сортування
| 1 | 123 |
| 4 | 1123b |
| 5 | 1124a |
| 3 | 1125 |
| 2 | 11231 |
отримання випадкового запису з таблиці
Ця функція корисна для показу, скажімо, випадкового відгуку клієнта або випадкового посту. Для отримання такого запису, ми спочатку сортуємо таблицю у випадковому порядку з використанням функціїRAND(), потім беремо перший запис, запит виглядає приблизно так: