【问题标题】:is it possible to trim last three characters in string with selected row in selected column是否可以用选定列中的选定行修剪字符串中的最后三个字符
【发布时间】:2014-08-28 06:11:30
【问题描述】:

我将此查询用于修剪所选行最后 3 个值的功能

select substr(detail,0,length(detail)-3) from address where  detail_no=1;

上面的查询会修剪所有行的最后 3 个字符。 但我想修剪选定的行字符

for example. row 1 text added
             row 2 last value
             row 3 end value

我只想修剪第 2 行的最后 3 个字符

任何人解释如何使用该查询

【问题讨论】:

    标签: sql oracle oracle11g


    【解决方案1】:

    您可以为此使用CASE。 顺便说一句,我猜你的查询似乎有一些问题,你需要在表名之前写列名。

    这可能会解决您的问题。您必须输入您的专栏名称而不是 rownumber

    select case a.rownumber
              when 2 then substr (a.detail, 0, length (a.detail) - 3)
              else a.detail
           end, a.*
      from address a
     where a.detail_no = 1
    

    【讨论】:

    • 感谢您的查询,我会检查并通知您
    • stackoverflow.com/users/2208467/yigitalp-ertem @Yigitalp Ertem 感谢您的查询,它工作正常,但此查询显示选定的列名,但我也想要包括该修剪列在内的所有列
    • @vasanth,那么你可以在case语句后面写其他列的名字。我不知道你的列名,但我用一些虚拟列名编辑了我的帖子。
    • @ Yigitalp Ertem 再次感谢你,我没有被问到这个问题,但在某些地方我看到 .* 函数首先用于选定的列名,然后是其他列名。我不知道它的正确功能与否。我想你知道。如果它正确,请更新查询...
    • @vasanth,你是对的。我使用 .* 更新了查询
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-27
    • 2014-04-12
    相关资源
    最近更新 更多