我可以编写一个我可以在进行mySQL查询时调用的自定义函数,例如.
我的数据库表有字段'filetype'和'filename'.我想在返回结果之前对文件名执行一个函数.
$query = "SELECT filetype, MY_FUNCTION(filename) FROM table.."; $result = mysql_query($query); return $result
SO $结果现在具有由MY_FUNCTION创建的新值.原始数据库数据将保持不变.
好的 - 所以它看起来像是用户定义函数...如何编写自己的用户定义函数?我可以用PHP写吗?我在哪里保存函数或将其包含在我的全局文件中?
谢谢!
DELIMITER $$ CREATE FUNCTION MY_FUNCTION (FILENAME VARCHAR(255)) RETURNS VARCHAR(255) DETERMINISTIC NO SQL BEGIN RETURN SUBSTR(filename, 1, 20); END $$ DELIMITER ;
要创建功能,你只是它的代码粘贴(sililar上面提供)在你最喜欢的查询工具,像mysql.exe
,MySQL Query Browser
,phpmysqladmin
等等.
你可以UDF
在里面C
和里面写SQL
.在后一种情况下,您不需要编译器.
我提供的功能是一个例子SQL UDF
.它只返回20
文件名的第一个字符.
您可以使用任何MySQL
功能SQL UDF
.
是的,这称为用户定义函数(UDF).
这里有一个已预先构建的功能的良好存储库,因此您可以检查是否符合您的需求.