我正在处理查询
(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
与相同的声明相似。有人请修改相同的查询以获得第二个结果。 感谢
答案 0 :(得分:3)
(select 'WEST' from Direction where d_name SIMILAR TO 'WEST%')
UNION
(select 'NORTH' from Direction where d_name SIMILAR TO 'NORTH%');
答案 1 :(得分:1)
我得到了解决方案
Select d_name
from Direction
where d_name SIMILAR TO '(WEST|NORTH)'
只需从查询中删除 %
即可。
答案 2 :(得分:1)
如果您使用的是MySQL,因为它没有分割字符串功能,您可以为此创建user defined function,例如下文中描述的那个:
使用该功能,您可以按如下方式构建查询:
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解决方案
建立了这个新答案