Przydatne SQL’e

Poniżej dla potomoności, parę przydatnych funkcji w MySQL służących do oblicznia danych sieciowych: DROP FUNCTION IF EXISTS check_network; DROP FUNCTION IF EXISTS get_network; DROP FUNCTION IF EXISTS get_broadcast; delimiter | CREATE FUNCTION check_network(ip1 VARCHAR(25), ip_netmask VARCHAR(25), ip2 VARCHAR(25)) RETURNS INT DETERMINISTIC BEGIN IF((INET_ATON(ip2) & INET_ATON(ip_netmask)) = (INET_ATON(ip1) & INET_ATON(ip_netmask))) THEN RETURN 1; ELSE RETURN 0; END IF; END| CREATE FUNCTION get_network(ip1 VARCHAR(25), ip_netmask VARCHAR(25)) RETURNS VARCHAR(20) DETERMINISTIC BEGIN RETURN INET_ATON(ip1) & INET_ATON(ip_netmask); END| CREATE FUNCTION get_broadcast(ip1 VARCHAR(25), ip_netmask VARCHAR(25)) RETURNS VARCHAR(20) DETERMINISTIC BEGIN RETURN INET_NTOA(INET_ATON(ip1) + (INET_ATON('255.255.255.255') - INET_ATON(ip_netmask))); END| delimiter ;

października 23, 2007 · paramah