【转载】SQL LAST() 函数

本文介绍了SQL中的LAST()函数,虽然该函数主要由MS Access支持,但针对SQL Server、MySQL和Oracle提供了相应的实现方式。通过示例展示了如何选取表中的最后一个记录值。在SQL Server中,可以使用`TOP 1`结合`ORDER BY`来获取;在MySQL中,使用`LIMIT 1`配合`ORDER BY`;而在Oracle中,利用`ROWNUM <= 1`和`ORDER BY`达到相同效果。

转载:https://www.runoob.com/sql/sql-func-last.html

SQL LAST() 函数


LAST() 函数

LAST() 函数返回指定的列中最后一个记录的值。

SQL LAST() 语法

SELECT LAST(column_name) FROM table_name;

 注释:只有 MS Access 支持 LAST() 函数。


SQL Server、MySQL 和 Oracle 中的 SQL LAST() 工作区

SQL Server 语法

SELECT TOP 1 column_name FROM table_name
ORDER BY column_name DESC;

实例

SELECT TOP 1 name FROM Websites
ORDER BY id DESC;

MySQL 语法

SELECT column_name FROM table_name
ORDER BY column_name DESC
LIMIT 1;

实例

SELECT name FROM Websites
ORDER BY id DESC
LIMIT 1;

Oracle 语法

SELECT column_name FROM table_name
ORDER BY column_name DESC
WHERE ROWNUM <=1;

实例

SELECT name FROM Websites
ORDER BY id DESC
WHERE ROWNUM <=1;

演示数据库

在本教程中,我们将使用 RUNOOB 样本数据库。

下面是选自 "Websites" 表的数据:

+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | 菜鸟教程      | http://www.runoob.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
|  6 | 百度         | https://www.baidu.com/    |     4 | CN      |
|  7 | stackoverflow | http://stackoverflow.com/ |     0 | IND     |
+----+---------------+---------------------------+-------+---------+

SQL LAST() 实例

下面的 SQL 语句选取 "Websites" 表的 "name" 列中最后一个记录的值:

实例
SELECT name FROM Websites
ORDER BY id DESC
LIMIT 1;

执行以上 SQL 结果如下所示:

 

SQL 中的 `LAST_DAY` 函数用于获取指定日期所在月份的最后一天。该函数在不同的数据库系统中具有相似的功能,但在语法上可能存在细微差异。以下是一些常见的用法及示例。 ### 获取当前日期所在月份的最后一天 在大多数 SQL 数据库中,可以直接使用 `LAST_DAY` 函数来获取当前日期所在月份的最后一天。 ```sql SELECT LAST_DAY(CURRENT_DATE) AS last_day_of_month; ``` 此查询将返回当前日期所在月份的最后一天[^2]。 ### 获取指定日期所在月份的最后一天 可以将 `LAST_DAY` 函数与特定日期一起使用,以获取该日期所在月份的最后一天。 ```sql SELECT LAST_DAY('2016-08-16') AS last_day; -- 结果:2016-08-31 ``` 此查询将返回 `2016-08-31`,即 `2016-08-16` 所在月份的最后一天[^2]。 ### 获取下个月的最后一天 有时可能需要获取下个月的最后一天。可以通过先获取当前日期的下个月,然后再使用 `LAST_DAY` 函数来实现。 ```sql SELECT LAST_DAY(DATE_ADD(CURRENT_DATE, INTERVAL 1 MONTH)) AS next_month_last_day; ``` 此查询首先使用 `DATE_ADD` 函数将当前日期增加一个月,然后使用 `LAST_DAY` 函数获取下个月的最后一天[^1]。 ### 获取当前月份的第一天 虽然 `LAST_DAY` 函数主要用于获取月份的最后一天,但也可以结合其他函数来获取月份的第一天。 ```sql SELECT DATE_ADD(LAST_DAY(DATE_ADD(CURRENT_DATE, INTERVAL -1 MONTH)), INTERVAL 1 DAY) AS first_day_of_month; ``` 此查询首先使用 `DATE_ADD` 函数将当前日期减去一个月,然后使用 `LAST_DAY` 函数获取上个月的最后一天,最后再使用 `DATE_ADD` 函数将日期加一天,从而获取当前月份的第一天[^2]。 ### 使用 `TRUNC` 函数获取月份的第一天 在某些数据库系统中,还可以使用 `TRUNC` 函数来获取月份的第一天,然后再使用 `LAST_DAY` 函数获取月份的最后一天。 ```sql SELECT TRUNC(CURRENT_DATE, 'MONTH') AS first_day_of_month; SELECT LAST_DAY(TRUNC(CURRENT_DATE, 'MONTH')) AS last_day_of_month; ``` 此查询首先使用 `TRUNC` 函数将当前日期截断到月份的第一天,然后使用 `LAST_DAY` 函数获取该月份的最后一天[^2]。 ### ObjectScript 调用 `LAST_DAY` 函数 在某些特定的环境中,如 InterSystems Caché,可以使用 `ObjectScript` 来调用 `LAST_DAY` 函数。 ```objectscript WRITE $SYSTEM.SQL.Functions.LASTDAY("2018-02-22"),! -- 输出:2018-02-28 WRITE $SYSTEM.SQL.Functions.LASTDAY(64701) -- 输出:2018-02-28 ``` 此示例展示了如何使用 `ObjectScript` 调用 `LAST_DAY` 函数来获取指定日期所在月份的最后一天[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值