【发布时间】:2010-02-01 04:29:16
【问题描述】:
我在一次采访中被问到,一个来自 oracle sql 的问题。这似乎是一个简单的问题,但我不知道如何回答。有人可以帮忙吗?
如果列中有“纽约是一座美丽的城市”之类的字符串。
select column_name from table_name;
结果
newyork is a beautiful city
将输出作为包含所有首字母的字符串提供所需的查询是什么。 即,输出应该是
niabc
【问题讨论】:
-
只是出于好奇:是否有原因将“a”从输出中排除(即为什么不是“niabc”?),或者是采访问题的一部分也删除了文章?
-
如果你真的需要这样做,SQL 是完全错误的工具。虽然您可以编写一些单一的递归查询,但您可以使用另一种语言的简单循环来实现相同的目的(可能也快得多),您可以在用户定义的函数中插入。
-
对不起,我的错误...我忘记了a:)
-
@lins...你可能是对的...但也许面试官是在测试我的逻辑能力,并没有考虑你所说的表现。我也同意这可以做到使用其他可用工具轻松实现。
-
@Am:同意。我的观点是,这不是最好通过基于集合的逻辑来完成的事情。 @benjamin 按钮:这似乎是记忆数据库附带的功能的问题。如果你还不知道这个函数,SQL 的方法是通过递归查询,在这种情况下我会先提到有更好的选择,然后只有在面试官坚持的情况下才跳转到 SQL,因为它需要我即使我有一个要测试的数据库,也要花半个小时来编写递归查询。