5110b99ba85c72_t.jpg
我想提取字符串_t
或_m
之前的第一个数字或以_
开头的内容。在这种情况下,它是数字2。
我发现有两种方法可以正常使用,但不确定哪种方法更好,两种方法的优点或缺点......
专家们的想法是什么?
方法1
SELECT SUBSTRING(SUBSTRING_INDEX(thumb_filename, '_', 1), -1) FROM image
方法2
SELECT RIGHT(SUBSTRING_INDEX(thumb_filename, '_', 1), 1) FROM image
答案 0 :(得分:0)
我很确定两者之间在性能方面不会有太大差异。
那就是说,我可能会使用RIGHT()函数,因为它更清楚你究竟要做什么。
如果您担心性能,我会添加一个包含该值的列,并在文件更改时保持最新状态。生成/更新行时获取数字的速度要快得多,然后不必在查询中执行SUBSTRING函数。