single疑问 返回

SqlSugar 沟通中
7 243
该叫什么 够钟 发布于2024/8/13
悬赏:0 飞吻

image.png

SELECT  CAST(MAX( CAST(SUBSTR("INVOICE_NO",1 + 4, LENGTH("INVOICE_NO") ) AS Number)) AS VARCHAR2(4000))  FROM "SHOUJI_INVOICE"  WHERE  "INVOICE_NO" IS NOT NULL  AND  "INVOICE_NO" like '%'||'D08S'||'%'  AND "CREATE_TIME" > to_Date('2021/01/01 00:00:00','yyyy-MM-dd hh24:mi:ss') AND ROWNUM=1


库是Oracle 11g,使用single方法查询生成的SQL语句为啥有一个rownum=1的条件呢,不是first方法才会有这个条件吗

热忱回答7

  • fate sta fate sta VIP0
    2024/8/13

    效果一样就行了 

    0 回复
  • 够钟 够钟 VIP0
    2024/8/13

    @fate sta:现在就是不一样,有rownum=1的与没有这个的语句查出来的结果是不一样的fad652f3882f8651d0c27f3764c65fc5.png

    0 回复
  • fate sta fate sta VIP0
    2024/8/13

    你没加orderby

    0 回复
  • fate sta fate sta VIP0
    2024/8/13

    single就是只查询一条记录,不能查询2条。有没有rownum=1都是一样的。

    0 回复
  • fate sta fate sta VIP0
    2024/8/13

    一般用于主键查询

    0 回复
  • 够钟 够钟 VIP0
    2024/8/13

    @fate sta:关键是刚刚观察了下别的用single的地方都不会带rownum=1这个条件,我本来就是通过max函数取数据就不想再写order by了,这感觉还是有点问题吧

    0 回复
  • fate sta fate sta VIP0
    1个月前

    @够钟:single一般是主键查询,不然用first

    0 回复