Php MySQL中是否有basename()等价物?
在PHP中,返回路径的文件名 在MySQL查询的Php MySQL中是否有basename()等价物?,php,mysql,path,Php,Mysql,Path,在PHP中,返回路径的文件名 在MySQL查询的SELECT语句中是否有这样做的方法?有了它我会很高兴,这样我就可以直接对它应用ORDER BY。您可以使用该函数获取特定分隔符后的最后一个元素,在本例中是斜杠。这也可以与反斜杠一起使用,在这种情况下只需使用“\\” SELECT Path, SUBSTRING_INDEX(Path, '/', -1) AS FileName FROM files 示例结果行: Path=downloads/apps/file1.exe
SELECT
语句中是否有这样做的方法?有了它我会很高兴,这样我就可以直接对它应用ORDER BY
。您可以使用该函数获取特定分隔符后的最后一个元素,在本例中是斜杠。这也可以与反斜杠一起使用,在这种情况下只需使用“\\”
SELECT
Path,
SUBSTRING_INDEX(Path, '/', -1) AS FileName
FROM
files
示例结果行:
Path=downloads/apps/file1.exeFileName=file1.exe
使用上面的答案,可以将其转换为mysql函数:
CREATE DEFINER=`root`@`%` FUNCTION `basename`(path VARCHAR(512)) RETURNS varchar(512) CHARSET latin1
BEGIN
return SUBSTRING_INDEX(SUBSTRING_INDEX(path, '/', -1), '\\', -1);
END