single疑问 返回
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 VIP02024/8/13
效果一样就行了
0 回复 -
够钟 VIP02024/8/13
@fate sta:现在就是不一样,有rownum=1的与没有这个的语句查出来的结果是不一样的
0 回复 -
fate sta VIP02024/8/13
你没加orderby
0 回复 -
fate sta VIP02024/8/13
single就是只查询一条记录,不能查询2条。有没有rownum=1都是一样的。
0 回复 -
fate sta VIP02024/8/13
一般用于主键查询
0 回复 -
够钟 VIP02024/8/13
@fate sta:关键是刚刚观察了下别的用single的地方都不会带rownum=1这个条件,我本来就是通过max函数取数据就不想再写order by了,这感觉还是有点问题吧
0 回复 -
fate sta VIP01个月前
@够钟:single一般是主键查询,不然用first
0 回复