a qUicK BRowN fOx jUmPs oVeR biLl
Selaku penanggung jawab data(base), tentunya gw gag pengen inputan asal kya gtu lulus sensor n masuk ke tabel gw. Klo di VB, gw pernah bikin function PCase (singkatan dari ProperCase) yang fungsinya bakal 'menyesuaikan paksa' string ini (a qUicK BRowN fOx jUmPs oVeR biLl) menjadi ini (A Quick Brown Fox Jumps Over Bill). Berikut ini potongan function gw di VB :
PCase = StrConv(strKalimat, vbProperCase)
End Function
Nah, masalahnya gw ngga ndevelop di VB. Dan gw masih belum percaya ama programmer-programmer PHP gw (hihihihi...) ~ gw pengen bikin stored functionnya di MySQL. Yaa, itung-itung ngelengkapin koleksi String Function di MySQL lah.. masa udah ada LCASE() dan UCASE() tapi utk bikin Proper Case ngga ada...
Setelah sedikit googling dan obok-obok algoritma dikit, gw berhasil "meramu" stored function untuk ngonvert string menjadi proper-case. Silakan simak functionnya di bawah ini :
-- Function "xf_propercase" DDL
CREATE FUNCTION `xf_propercase`(str varchar(255)) RETURNS varchar(255) CHARSET utf8
BEGIN
DECLARE c CHAR(1);
DECLARE s VARCHAR(128);
DECLARE i INT DEFAULT 1;
DECLARE bool INT DEFAULT 1;
DECLARE punct CHAR(17) DEFAULT ' ()[]{},.-_!@;:?/';
SET s = LCASE( str );
WHILE i < LENGTH( str ) DO
BEGIN
SET c = SUBSTRING( s, i, 1 );
IF LOCATE( c, punct ) > 0 THEN
SET bool = 1;
ELSEIF bool=1 THEN
BEGIN
IF c >= 'a' AND c <= 'z' THEN
BEGIN
SET s = CONCAT(LEFT(s,i-1),UCASE(c),SUBSTRING(s,i+1));
SET bool = 0;
END;
ELSEIF c >= '0' AND c <= '9' THEN
SET bool = 0;
END IF;
END;
END IF;
SET i = i+1;
END;
END WHILE;
RETURN s;
END;
nah, klo kita coba panggil ntu function, caranya gini :
mysql> select xf_propercase('a qUicK BRowN fOx jUmPs oVeR biLl');
+----------------------------------------------------+
| xf_propercase('a qUicK BRowN fOx jUmPs oVeR Bill') |
+----------------------------------------------------+
| A Quick Brown Fox Jumps Over Bill |
+----------------------------------------------------+
1 row in set
SUKSES!! cihuyy....
_______________________
Rizky Prihanto
Software Architect PT Cinox Media Insani
2 comments:
store functionnya disimpan di directori apa bos?
ane pake xampp for windows.
thx. before.
apakah store function tersbt disimpan dalam php dan kemudian dipanggil dalam mysql apa bagaimana pak rizky?
mohon bantuannya. terima kasih.
m.khariri@yahoo.coi.d
Posting Komentar