1. last_date(sysdate)函数返回当前时间所在月的最后一天
2. 注意level伪列和rownum伪列的区别
level伪列是进行递归循环的伪列,不需要原始表,可以反回所需要的唯一数字并以level为列
例如:select level from dual connect by level<=n
则返回从1到n的唯一整数,因为from后面是connect by递归
而对于rownum则必须由原始表,返回的数目是原始表的行的数目
3. to_char(sysdate,‘d’) 表示当前日期是星期几,返回的是数字,1表示星期天,2表示星期1,以此类推
to_char(sysdate,‘dd’) 表示当前日期是几号,返回01,02,03........
to_char(sysdate,‘ddd’) 表示当前日期是一年中的第几天
to_char(sysdate,‘iw’) 表示当前日期是全年中的第几周
4. 借助rownum列,来生成其他列的值,因为每行的rownum都是加1,所以可以根据这个特性来进行数学上的运算,逐行生成,表中的每一列都是根据其他列来生产的,
只是你要发现每列之间的规律联系;
5. ltrim,rtrim如果没有指定,则默认删除空格。
6. group by后面不能用数字代替,而order by 后面可以用数字代替
7. 因为要把一个员工的hiredate与另一个员工的hiredate进行比较,所以要进行自连接(若要讲一张表的两行的同一列进行比较,那么可以采用自连接的方法)
2. 注意level伪列和rownum伪列的区别
level伪列是进行递归循环的伪列,不需要原始表,可以反回所需要的唯一数字并以level为列
例如:select level from dual connect by level<=n
则返回从1到n的唯一整数,因为from后面是connect by递归
而对于rownum则必须由原始表,返回的数目是原始表的行的数目
3. to_char(sysdate,‘d’) 表示当前日期是星期几,返回的是数字,1表示星期天,2表示星期1,以此类推
to_char(sysdate,‘dd’) 表示当前日期是几号,返回01,02,03........
to_char(sysdate,‘ddd’) 表示当前日期是一年中的第几天
to_char(sysdate,‘iw’) 表示当前日期是全年中的第几周
4. 借助rownum列,来生成其他列的值,因为每行的rownum都是加1,所以可以根据这个特性来进行数学上的运算,逐行生成,表中的每一列都是根据其他列来生产的,
只是你要发现每列之间的规律联系;
5. ltrim,rtrim如果没有指定,则默认删除空格。
6. group by后面不能用数字代替,而order by 后面可以用数字代替
7. 因为要把一个员工的hiredate与另一个员工的hiredate进行比较,所以要进行自连接(若要讲一张表的两行的同一列进行比较,那么可以采用自连接的方法)