Функция CAST в MySQL Преобразование типов данных в базах данных
Рубрика по базам данных: http://zametkinapolyah.ru/zametki-o-mysql/sqlite/ 
Рубрика MySQL: http://zametkinapolyah.ru/zame....tki-o-mysql/server-m 
Паблик блога в ВК: https://vk.com/zametkinapolyah 
Тематическая группа в ВК: https://vk.com/zametki_bd 
 
Помощь проекту: 
WMR: R288272666982 
WMZ: Z293550531456 
Яндекс.Деньги: 410011531129223 
 
-- MySQL сервер умеет делать преобразование строки в число автоматически 
-- все зависит от контекста операции. Такое преобразование обычно называют неявным. 
SELECT 1+'10'; 
SELECT 1+'10a'; 
SELECT 1+'10a25'; 
SELECT 1+'a10a'; 
SELECT CONCAT(2, " test string!"); 
 
-- Число в строку в базах данных MySQL сервера можно преобразовать явно, используя 
-- специальную функцию CAST().  
-- Функция CAST принимает ровно два аргумента: первый аргумент - это значение, которое необходимо преобразовать, второй аргумент - это тип данных, в который конвертируется значение.  
 
SELECT 38.8, CAST(38.8 AS CHAR); 
SELECT 38.8, CAST(38.8 AS CHAR(1)); 
 
SELECT 38.8, CONCAT(38.8); 
 
-- Кроме того, выполнении операций сравнения, MySQL сервер пытается привести значенияя разных типов данных к одному, если такое вообще возможно, а затем сравнивать их. Но об этом мы уже говорили, ссылка будет в описании. 
 
 
-- Поскольку числа с плавающей точкой не всегда могут быть представлены точно, мы можем получить неожиданные результаты при сравнении значений таких чисел. 
 
SELECT '28015376320243458' = 28015376320243458; 
SELECT '28015376320243459' = 28015376320243489;  
 
-- Такое поведение MySQL сервера связано с тем, что происходит округление чисел: 
SELECT '28015376320243459'+0.0; 
 
-- Чтобы избежать таких ошибок, выполняйте явные преобразования строки в число, используя функцию CAST(): 
SELECT CAST('28015376320243459' AS UNSIGNED) = 28015376320243459; 
 
-- Точность преобразований и округлений чисел в MySQL зависит от многих факторов: версии компилятора, архитектуры процессора, версии операционной системы и др.
 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			 
			
