我想在 daily note 中汇总每日的任务,目前是想利用任务列表插件生成的自定义属性 plugin-task-list-handleAt,用 sql 匹配年月日是当天的块,尝试了好久都未能成功,论坛也找不到方法,请大佬帮忙写下 sql 代码,谢谢。
相关帖子
-
感谢推荐,我也有看过那个模板的介绍,但是那个模板是每日的日程是写在 daily note 里面的吧?我的日程是写在其他笔记里,在 daily note 里面汇总,有关还是不一样。
1 回复 - 其他回帖
-
用这个试试,粘贴到 SQL 查询文本框中即可
//!js return (async () => { // sql查询语句 const sql = `SELECT * FROM blocks WHERE ial LIKE '%custom-plugin-task-list-handleAt="${getCurrDocCustomAttr()}%';`; // 查询逻辑 const result = await query(sql); if(result.length > 0) { return result.map(row=>row.id); } return []; // 获取当前文档的自定义属性值 function getCurrDocCustomAttr() { const attributes = Array.from(item.parentElement.attributes); const attr = attributes.find(attr=>attr.name.startsWith('custom-dailynote')); return attr ? attr.value : ''; } // 查询数据库 async function query(sql) { const result = await fetchSyncPost('/api/query/sql', { "stmt": sql }); if (result.code !== 0) { console.error("查询数据库出错", result.msg); return []; } return result.data; } })();
1 回复 -
你试试这个可以吗
.action{ if index . "custom-avs" } .action{ $id := .id } .action{ $blocks := queryBlocks "SELECT * FROM blocks WHERE id = '?'" $id } .action{ $b := first $blocks } .action{ $match := regexFind "custom-plugin-task-list-handleAt=\"([0-9]+)\"" $b.IAL } .action{ $value := trimPrefix "custom-plugin-task-list-handleAt=\"" $match } .action{ $value := trimSuffix "\"" $value } .action{ $value } .action{ end }
仅保留年月日版
.action{ if index . "custom-avs" } .action{ $id := .id } .action{ $blocks := queryBlocks "SELECT * FROM blocks WHERE id = '?'" $id } .action{ $b := first $blocks } .action{ $match := regexFind "custom-plugin-task-list-handleAt=\"([0-9]+)\"" $b.IAL } .action{ $value := trimPrefix "custom-plugin-task-list-handleAt=\"" $match } .action{ $value := trimSuffix "\"" $value } .action{ $year := substr 0 4 $value } .action{ $month := substr 4 6 $value } .action{ $day := substr 6 8 $value } .action{ $year }-.action{ $month }-.action{ $day } .action{ end }
1 操作wilsons 在 2024-11-02 20:12:18 更新了该回帖 - 查看全部回帖