Jsonでリクエストされた漢字の時刻を秒数に変換して MySQL に登録する必要あり作ってみましたが、
Javascriptであらかじめ変換してからリクエストすることにしたので、使ってません。
動作確認出来てないですが、必要な方はご利用下さい。
CREATE DEFINER=`root`@`localhost` FUNCTION `fc_intsecond_fromkanji`( `kanji` varchar(20) ) RETURNS int(11) LANGUAGE SQL NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER COMMENT '漢字時間文字列整数秒数取得' BEGIN DECLARE CNT_SEP TINYINT DEFAULT 0; DECLARE HMSTXT VARCHAR(20) DEFAULT ''; DECLARE FMTTXT VARCHAR(20) DEFAULT ''; DECLARE CHKNUM TINYINT DEFAULT 0; DECLARE TP VARCHAR(3) DEFAULT ''; DECLARE H SMALLINT DEFAULT 0; DECLARE M TINYINT DEFAULT 0; DECLARE S TINYINT DEFAULT 0; SET HMSTXT = REPLACE(REPLACE(REPLACE(kanji, '時間', 'H'), '分', 'M'), '秒', 'S'); SET FMTTXT = REPLACE(REPLACE(REPLACE(kanji, '時間', ':'), '分', ':'), '秒', ''); SET TP = REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE( REPLACE(HMSTXT, '0', ''), '1', ''), '2', ''), '3', ''), '4', ''), '5', ''), '6', ''), '7', ''), '8', ''), '9', '') ; insert into tst (fld0, fld1) values (HMSTXT, TP); IF (TP = 'HMS') THEN SET H = CAST(fc_delim_idxtxt(FMTTXT, 1, ':') AS UNSIGNED); SET M = CAST(fc_delim_idxtxt(FMTTXT, 2, ':') AS UNSIGNED); SET S = CAST(fc_delim_idxtxt(FMTTXT, 3, ':') AS UNSIGNED); END IF; /**/ IF (TP = 'HS') THEN SET H = CAST(fc_delim_idxtxt(FMTTXT, 1, ':') AS UNSIGNED); SET S = CAST(fc_delim_idxtxt(FMTTXT, 2, ':') AS UNSIGNED); END IF; IF (TP = 'HM') THEN SET H = CAST(fc_delim_idxtxt(FMTTXT, 1, ':') AS UNSIGNED); SET M = CAST(fc_delim_idxtxt(FMTTXT, 2, ':') AS UNSIGNED); END IF; IF (TP = 'MS') THEN SET M = CAST(fc_delim_idxtxt(FMTTXT, 1, ':') AS UNSIGNED); SET S = CAST(fc_delim_idxtxt(FMTTXT, 2, ':') AS UNSIGNED); END IF; /**/ IF (TP = 'H') THEN SET H = CAST(fc_delim_idxtxt(FMTTXT, 1, ':') AS UNSIGNED); END IF; IF (TP = 'M') THEN SET M = CAST(fc_delim_idxtxt(FMTTXT, 1, ':') AS UNSIGNED); END IF; IF (TP = 'S') THEN SET S = CAST(FMTTXT AS UNSIGNED); END IF; RETURN H * 3600 + M * 60 + S; END