类似于SQL
问题描述:
功能,我在查询类似于SQL
(Select d_name from Direction where d_name SIMILAR TO '(WEST|NORTH)%')
this gives me the result as
WEST 1
WEST 2
NORTH 2
WEST
NORTH
工作,但我想要的结果作为
WEST
NORTH
与相同的语句异曲同工。有人请修改相同的查询以获得第二个结果。 感谢
答
我得到了解决
Select d_name
from Direction
where d_name SIMILAR TO '(WEST|NORTH)'
只是从查询中删除%
。
答
如果你正在使用MySQL,因为它没有配备分裂字符串函数,你可以创建一个user defined function这一点,如下面的文章中描述的:
- MySQL Split String Function由费德里科Cargnelutti
与该功能,你就可以建立自己的查询,如下所示:
SELECT DISTINCT SPLIT_STR(d_name, ' ', 1)
FROM Direction
WHERE d_name SIMILAR TO '(WEST|NORTH)%';
如果你不喜欢使用一个用户定义的函数,你不介意的查询是有点冗长,你也可以做到以下几点:
SELECT DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(d_name, ' ', 1), ' ', -1)
FROM Direction
WHERE d_name SIMILAR TO '(WEST|NORTH)%';
声明:我根据这个新的答案上this解决方案
哪一个sql或Mysql – mohan111
呃?尽管事实上你正在寻找的是完全匹配,你还是想用类似的东西吗?是不是有点像使用锤子来驱动螺丝寻求帮助? –
@Damien_The_Unbeliever查询需求类似于。某处我需要选择可能类似于而不是类似的所有列。 – dhS