SQLite 默认值与NULL:表里写了DEFAULT,为什么显式传空仍然没有补上 表中给state写了默认值new,接口却仍能存进去NULL。很多问题出在应用把“用户没有提交这个字段”统一变成了一个空参数,导致插入语句其实明确给出了NULL。默认值何时生效由SQL语句决定,数据库不会根据字段看起来... yunqueblog/ 技术教程/ 2026-10-03/ 2 阅读
Databricks宣布IP函数正式可用:地址与网段可直接关联,最低运行时标注仍需逐项核对 2026年10月1日,Databricks宣布原生IP函数正式可用,让SQL、PySpark和Scala工作流直接处理IPv4、IPv6地址及CIDR网段。官方博文元数据标注01:46 UTC,即北京时间09:46。... yunqueblog/ 最新资讯/ 2026-10-03/ 2 阅读
SQLite EXCLUDE TIES:排除同分记录时,为什么当前这一行仍然参加求和 做一张按评分展示的汇总表,要求暂时排除与当前记录同分的其他记录,却保留当前记录本身。EXCLUDE TIES可以表达这个关系,但如果把TIES理解为把整组并列项全删掉,就会算出另一份结果。整组排除对应的是EXCLUD... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite 同条 UPDATE 的取值时机:x 已经加一,为什么 y 仍然拿到旧的 x 想让x增加一,再把新x写进y,把两项放进同一条UPDATE的SET列表后,却发现y得到旧x。SQLite针对被更新行的列引用,会先求出右侧标量表达式,再实施赋值。SET中从左到右的书写位置,不能当作逐行执行的脚本步骤... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
SQLite lag 的窗口边界:frame 只剩当前行,为什么仍然能读到上一行 为了让查询只处理当前记录,把窗口框架写成 CURRENT ROW 到 CURRENT ROW,lag 仍然返回上一条内容。这里需要先看函数本身的取行规则:SQLite 的 lag 按分区中的相对位置取值,忽略fram... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite 空值排序:改成降序后,缺失记录为什么换到了另一端 一个清单按预计耗时从小到大显示,未填写耗时的项目突然出现在最前面。改成降序后,它们又跑到最后。开发者原本只想翻转已有数字的顺序,却同时改变了缺失记录的位置。SQLite 默认在升序时把 NULL 排在前面,降序时放在... yunqueblog/ 技术教程/ 2026-10-02/ 3 阅读
SQLite LIMIT 两种写法:只是把 OFFSET 换成逗号,为什么取回了另一页 维护分页查询时,把 LIMIT ? OFFSET ? 改成 LIMIT ?, ?,占位符数量仍然是两个,程序也没有报错,却把“取三条、跳过两条”变成“跳过三条、只取两条”。SQLite 支持这两种语法,但它们的参数顺... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite FILTER 条件聚合:合格数量为零的组,怎样仍然留在结果里 报表要显示零,筛选却删掉了整组按区域统计任务时,常常需要同时看到总任务数、成功数和有数值的成功记录数。如果把 status=ok 写进 WHERE,失败记录会先从输入里消失。一个区域若没有成功任务,连区域名称也不会出... yunqueblog/ 技术教程/ 2026-10-02/ 2 阅读
SQLite 表达式索引:x+y 和 y+x 结果相同,为什么查询计划不同 数学等价不保证走同一条访问路径列表页按两个整数列的总和筛选,已经建立表达式索引,另一个接口却仍然扫描整张表。两条查询一个写 x+y,另一个写 y+x,返回结果看起来完全相同。SQLite 匹配表达式索引时不会做一般代... yunqueblog/ 技术教程/ 2026-10-01/ 2 阅读
SQLite GROUP BY 的非聚合列:总额算对了,旁边的人名属于哪一笔 正确的合计旁边可能放错了说明报表按门店汇总销售额,同时选出顾客姓名,看起来既有总数又有具体例子。但同一家门店有多笔交易,姓名既没有参与分组,也没有使用聚合函数,SQLite 仍然允许查询执行。读者很容易把这个姓名理解... yunqueblog/ 技术教程/ 2026-10-01/ 2 阅读