数据库表的 created 错误 | 统计今天创建文件

本贴最后更新于 334 天前,其中的信息可能已经斗转星移

目标:

  1. 获得当前 文件的 created 创建时间
  2. 基于 1, 统计今天创建(但不是今天更新的文件)

我的问题是

  1. 数据不对

我使用该模板

···

now: .action{now | date "2006-01-02 15:04:05"}

id: .action{.id}
root_id: .action{.root_id}

created: .action{.created | date "2006-01-02 15:04:05"}
updated: .action{.updated | date "2006-01-02 15:04:05"}

···

测试发现

image.png

什么原因?

@88250 @participants

2.我使用该模板,是否正确?

## .action{ now | date "2006-01-02  Mon "} 今天创建的笔记

.action{$today := now | date "20060102"}
.action{$next := (now | date_modify "+24h")| date "20060102"}

.action{$today | date "2006-01-02 15:04:05"}


.action{$blocks :=queryBlocks "SELECT * FROM blocks WHERE id in (SELECT root_id FROM blocks WHERE (created >= '?' AND updated != '?' )) order by created DESC Limit 10000" $today $today}

.action{range $v := $blocks}

- ((.action{$v.RootID} ".action{$v.HPath}"))
  .action{end}

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    19014 引用 • 71379 回帖 • 2 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6640 引用 • 29784 回帖 • 244 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • Woody2022

    @Achuan-2 同时也请教下大佬

  • 创建时间每个块都有自带,不需要通过模板获取

    ```sql
    --统计今天创建的新文档
    SELECT '[' || b.content || '](siyuan://blocks/' || b.id || ')' 
        AS __00____pre__当天新创建的文档名称,
        b.created AS __01____datetime__创建时间
    FROM blocks AS b where
    created like '20230613%'
    and type = 'd'
    order by created desc
    

    用 query 就是这样写,如果你用模板调用的话,created 那行换成 created like '.action{ now | date "20060102"}%' 即可

  • Woody2022

    @Reader 感谢关注,但没有解决问题:

    1. 你的模板方法用的是 now,我需要的就是创建时间,而创建时间本身记录的数据通过测试,并不是准确的;

      2.我需要在模板里用是要实现目标 2 的功能。

    1 回复
  • 我的意思是创建时间是每个文档自带的,为何还要在通过模板获取一次呢?所以我认为第一步其实不需要

    你的目标 2 就是获取今天创建的笔记,所以我用了 now,now 就是今天的日期,通过 now 代入 created,不就是获取了今天创建的文档了吗?你用我提供的 SQL 获取一下今天的文档,看看是不是你想要的效果,我自己的效果如下

    image.png

    1 操作
    Reader 在 2023-06-14 12:00:10 更新了该回帖
  • Woody2022

    我的 point 是:

    1. created 的时间应该是正确的时间, 为什么得到的是错误 ❌ 的时间?这是很核心的问题,如果数据源不对,今后还有其他功能也没法实现;想一想你的电脑'date'是错误的,需要弄清楚原因,对吧?
    2. 你的方法也需要 created 本身是正确的数据啊,如果 created 永远和 updated 一样,还怎么使用?
    3. 另外,你的 code 我这儿没有显示。实际是有新建文件的image.png
  • Woody2022

    @88250 能请教下吗?

  • Woody2022

    image.png

    @Reader 请看这种情况。created 数据问题

    1 回复
  • 我的那个代码是为 query 定制的,这样写 query 能有更好的显示,如果你是嵌入块使用,需要把前面的一串替换为 select * from blocks where

    另外 created 的数据没有问题,一样是因为你的模板代码中的.created 并不能调用底层的 created 数据,模板没有支持这个变量,具体可看指南中的模板章节。

    最后,其实你把我的代码复制到思源中,用 query 挂件显示一下,就全都清楚了。

    image.png

    原封不动的,把我的代码复制进思源,看看是不是你要的效果。我这个 created 数据没有任何问题,和 updated 的数据也明显不一样

  • zxhd86 1

    你的模板本身就是写错的,思源并不支持以你这样的方式获取创建时间,思源的模板变量并不包括.created 和 .updated。

    正确的做法是使用 sql 查询语句获取创建时间。如何获取 @Reader 已有说明。如果你打算在模板中使用,请仔细阅读模板片段内的 queryBlocksquerySpans 如何使用。

  • Woody2022

    @Reader ⭐️⭐️⭐️⭐️⭐️⭐️

    1. 理解了,模板少变量的原因;那么模板方式没有方法实现相同的功能了,是吧?
    2. 因为每天插入一个 query 不太好看,但是根据你的建议,嵌入块没能测试成功,是这样吗?
      SELECT * FROM blocks WHERE false;
          AS __00____pre__当天新创建的文档名称,
          b.created AS __01____datetime__创建时间,
          b.created AS __02____datetime__更新时间
      FROM blocks AS b where
      created like '20230616%'
      and type = 'd'
      order by created desc
      
    1 回复
    1. 在资源管理器中的思源的 templates 文件夹下新建一个 md 文件,名称任取
    2. 写入如下代码 {{select * from blocks where created like '.action{ now | date "20060102"}%' and type = 'd' order by created desc}},原样写,不要分行
    3. 通过思源菜单使用模板即可
    4. 其实在这种场景下嵌入块没有 query 挂件的展示效果好,我推荐你新建一个 Dashboard 页面,把你需要的数据都通过 query 集中在 Dashboard 展示,这样内容上更集中,视觉上也更清爽
    1 操作
    Reader 在 2023-06-18 10:26:58 更新了该回帖
请输入回帖内容 ...

推荐标签 标签

  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    9 引用 • 32 回帖 • 158 关注
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    21 引用 • 75 回帖 • 3 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 532 回帖 • 718 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    22 引用 • 31 回帖 • 2 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    181 引用 • 448 回帖 • 1 关注
  • Sphinx

    Sphinx 是一个基于 SQL 的全文检索引擎,可以结合 MySQL、PostgreSQL 做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。

    1 引用 • 183 关注
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 198 关注
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖 • 2 关注
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 8 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1384 回帖 • 365 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖 • 2 关注
  • Kafka

    Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是现代系统中许多功能的基础。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。

    35 引用 • 35 回帖 • 3 关注
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 441 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 126 关注
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    165 引用 • 1460 回帖
  • FlowUs

    FlowUs.息流 个人及团队的新一代生产力工具。

    让复杂的信息管理更轻松、自由、充满创意。

    1 引用 • 2 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 431 关注
  • 996
    13 引用 • 200 回帖
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 213 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    108 引用 • 54 回帖 • 2 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    205 引用 • 357 回帖 • 1 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 419 关注