Tworzenie funkcji w mysql

Stworzymy funkcję w mysql służącą do deserializacji zserializowanych w php dat. Cel jest taki aby można było bez problemu wykonywać operacje na takiej dacie.

DELIMITER $$
CREATE DEFINER=`root`@`%` FUNCTION `UNS_DATE`(`data1` VARCHAR(255))
	RETURNS date
	LANGUAGE SQL
	DETERMINISTIC
	CONTAINS SQL
	SQL SECURITY DEFINER
	COMMENT ''
BEGIN 
  DECLARE datanew VARCHAR(255);
  SET datanew = REPLACE(data1, 's:10:"', '');
  SET datanew = REPLACE(datanew, '";', '');
  RETURN STR_TO_DATE(datanew,"%Y-%m-%d");
END$$
DELIMITER ;
Przykład wykorzystania funkcji w zapytaniu SELECT.
SELECT *, UNS_DATE(date_field) FROM tabela;

Komentarze 0

Dodaj komentarz