通过索引访问 VARCHAR 的最短方法
在 C/++/#/Java/everything 中,我只需 my_str[desired_index]
就够了。
但在 SQL(至少是 Oracle)中,我迄今为止发现的唯一方法是:
SUBSTR( my_str, desired_index, 1)
但这太尴尬了,我不敢相信在 2011 年我必须这样做。
还有其他办法吗?
In C/++/#/Java/everything I would just my_str[desired_index]
and that's all.
But in SQL (at least Oracle) the only way I've found so far:
SUBSTR( my_str, desired_index, 1)
But it's so awkward, I can't believe in 2011 I have to do this.
Is there other way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是 SQL 中执行此操作的标准方法。某些 DBMS 具有支持替代表示法的 SQL 方言;例如,Informix 支持
my_str[desired_index]
(对于三字符子字符串,支持my_str[12,14]
,其中两个值都是偏移量)。问题是 - 为什么需要用 SQL 编写它?
That is the standard way to do it in SQL. Some DBMS have a dialect of SQL that supports an alternative notation; for example, Informix supports
my_str[desired_index]
(and, for a three-character substring,my_str[12,14]
where both values are offsets).The question is - why do you need to write that in SQL?