举个例子:
select *
from recording as r
where left(r.title, 1) = 'p'
这将选择录制标题以字母 p 开头的所有录制内容。我可以用其他字母......
但问题是,我正在处理一张西班牙语表格,其中包含¿-Porqué?或«Por un amor» o甚至¡..Pon la mesa!等等......我确实希望这些录音成为我的结果集的一部分。
如何获取仅以特定字母开头的录音?
我是否需要在表格中创建一个单独的列,让我们称之为“排序名称”,然后插入录音标题以及所有这些特殊字符被删除?它们是其他解决方案,我在mysql中不知道的特殊功能吗?
由于
答案 0 :(得分:2)
你可以使用mysql regexp:
SELECT * FROM recording WHERE title REGEXP '^[^a-zA-Z]*[pP]'
答案 1 :(得分:1)
您可以这样使用SQL LIKE通配符'_':
SELECT * FROM recording AS r WHERE r.title LIKE '_P%'
它将接受P字母前的任何字符。 (只有一个角色)
如果你不想匹配诸如'Ap ...'之类的单词,你可以使用SQL正则表达式函数(谷歌它,它有很好的文档记录),或者如果案例是很少见。
编辑:好的,所以你想要将标题与第一个字母后面的几个特殊字符匹配。 在这种情况下,使用正则表达式函数(SQL端或PhP端,取决于您的需求)应该是最好的方法