MySQL获取某天的本月第一天和上个月的第一天

本文介绍如何使用SQL进行日期操作,包括获取当前日期、指定日期的月份第一天和最后一天、上个月第一天及最后一天的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#获取当前日期
select curdate();

#获取某天的当月第一天
select date_add('2018-02-17',interval -day('2018-02-17')+1 day) first_day;

#获取某天的当月最后一天
select last_day('2018-02-17') last_day;

#获取某天的上个月第一天
select date_sub(date_sub(date_format('2018-01-17','%y-%m-%d'),interval extract(
day from '2018-03-17')-1 day),interval 1 month) as last_month_first_day;

#获取某天的上个月最后一天
select date_sub(date_sub(date_format('2000-03-17','%y-%m-%d'),interval extract(
day from '2000-03-17') day),interval 0 month) as last_month_last_day;

 

 

 

### 如何在 VXE-Table 中实现复选框的全选与取消选择功能 VXE-Table 是一款基于 Vue 的高性能表格组件库,支持多种复杂场景下的数据展示需求。以下是关于如何在 VXE-Table 中实现复选框的全选与取消选择功能的具体说明。 #### 1. 基础配置 为了实现全选取消选择的功能,在初始化 `vxe-table` 表格时需要设置一些必要的属性。例如,通过启用 `checkbox-config` 配置项来开启复选框功能[^1]: ```vue <template> <vxe-table :data="tableData" ref="xTable"> <!-- 启用复选框 --> <vxe-column type="checkbox" width="60"></vxe-column> <vxe-column field="name" title="Name"></vxe-column> <vxe-column field="age" title="Age"></vxe-column> </vxe-table> </template> <script> export default { data() { return { tableData: [ { name: 'John', age: 25 }, { name: 'Doe', age: 30 } ] }; } }; </script> ``` 上述代码片段展示了如何在列定义中加入复选框列,并绑定到表格的数据源上。 --- #### 2. 实现全选逻辑 要实现全选功能,可以通过监听复选框的状态变化事件并手动控制其行为。具体来说,可以利用 `check-all-method` 或者直接操作 API 来完成这一目标[^4]。 下面是一个完整的示例,演示了如何通过按钮触发全选或取消全选的操作: ```vue <template> <div> <button @click="selectAll">全选</button> <button @click="clearAll">取消全选</button> <vxe-table :data="tableData" ref="xTable"> <vxe-column type="checkbox" width="60"></vxe-column> <vxe-column field="name" title="Name"></vxe-column> <vxe-column field="age" title="Age"></vxe-column> </vxe-table> </div> </template> <script> import XEUtils from 'xe-utils'; export default { data() { return { tableData: [ { name: 'John', age: 25 }, { name: 'Doe', age: 30 } ], selectionList: [] }; }, methods: { selectAll() { const $table = this.$refs.xTable; $table.setAllCheckboxRow(true); // 设置所有行被勾选 }, clearAll() { const $table = this.$refs.xTable; $table.clearCheckboxRow(); // 清除所有已勾选的行 } } }; </script> ``` 在此代码中,调用了 `setAllCheckboxRow` `clearCheckboxRow` 方法分别用于执行全选清除操作。 --- #### 3. 获取选中记录的值 当用户完成了某些行的选择之后,通常还需要获取这些选定行的相关信息以便进一步处理。这一步骤可通过访问 `$refs.xTable.getCheckboxRecords()` 完成: ```javascript getSelectedRows() { const selectedRows = this.$refs.xTable.getCheckboxRecords(); console.log('选中的行:', selectedRows); } ``` 此方法会返回一个包含所有当前已被选中行的对象数组。 --- #### 4. 处理联动关系 除了基本的全选/反选外,还需注意保持“全选”复选框与其他单个复选框之间的同步状态一致性。即当页面上的任意一项发生变化时,应自动调整顶部“全选”的显示状况;反之亦然[^3]。 可以在 `cell-change` 或其他类似的回调函数内部编写相应的判断条件来进行实时监控以及更新视图层的表现形式。 --- ### 总结 综上所述,借助于 VXE-Table 提供的强大工具集及其灵活可定制化的特性,我们可以轻松构建出满足实际业务需求的各种交互体验良好的界面控件组合方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值