Skip to content

Instantly share code, notes, and snippets.

@georgepsarakis
georgepsarakis / split.sql
Created March 3, 2013 21:02
Split (explode) function for MySQL. Simple version requires 3 arguments, S (the delimited string), DELIM (delimiter) and S_INDEX the index of the instance of substring between delimiters. The LTSPLIT, RTSPLIT & TSPLIT wrappers perform trimming on the returned substring, on leading, trailing & both characters respectively.
DROP FUNCTION IF EXISTS SPLIT;
DROP FUNCTION IF EXISTS _SPLIT;
DROP FUNCTION IF EXISTS RTSPLIT;
DROP FUNCTION IF EXISTS LTSPLIT;
DELIMITER //
-- Simple Split (no trim)
CREATE FUNCTION SPLIT(S CHAR(255), DELIM VARCHAR(30), S_INDEX TINYINT UNSIGNED) RETURNS VARCHAR(255)
BEGIN
RETURN _SPLIT(S, DELIM, S_INDEX, '', 0);
@georgepsarakis
georgepsarakis / mysql-triggers.rb
Last active December 13, 2015 20:58
MySQL Trigger Command Line Editor in Ruby
#!/usr/bin/ruby
require 'rubygems'
require 'optparse'
require 'ostruct'
# >> Helper functions
# deep copy
def dcopy(o)
return Marshal.load(Marshal.dump(o))