SQLite 3.44.0 发布!
SQLite 开发团队于 2023 年 11 月 01 日发布了 SQLite 3.44.0 版本,带来了一些 SQL 和优化器增强,本文给大家做一个简要分分析。
新增 concat() 函数
新版本增加了两个连接字符串的函数:concat() 以及 concat_ws()。它们可以兼容 PostgreSQL、SQLServer 以及 MySQL,例如:
sqlite> select concat('sql', 'ite');
sqlite
sqlite> select concat_ws('-','S', 'Q', 'L');
S-Q-L
新增 string_agg() 函数
SQLite 提供了实现字符串聚合的 group_concat 函数,新版本为其增加了一个别名函数 string_agg(),目的是为了兼容 PostgreSQL 以及 SQL Server 语法。例如:
sqlite> create table test(pid int, val text);
sqlite> insert into test values(1, 'S'),(1,'Q'),(1,'L');
sqlite> select pid, string_agg(val,'-')...> from test...> group by pid;
1|S-Q-L
聚合函数 ORDER BY 子句
新版本支持在聚合函数中使用 ORDER BY 子句,指定数据在聚合函数中处理的顺序。这个参数对于某些聚合函数没有实际意义,例如 max();但是对于某些聚合函数,比如 string_agg() 以及 json_group_array(),该参数将会影响最终的结果。例如:
sqlite> select pid, string_agg(val,'-' order by val)...> from test...> group by pid;
1|L-Q-S
strftime() 新增参数
strftime() 函数增加了以下格式参数:
- %e,返回月份中的第几天:0-31;
- %F,ISO-8601 格式日期:YYYY-MM-DD;
- %I,12小时制对应的小时:01-12;
- %k,24 小时制对应的小时:0-24;
- %l,12小时制对应的小时:1-12;
- %p,代表上午和下午的“AM”和“PM”;
- %P,代表上午和下午的“am”和“pm”;
- %R,ISO-8601 格式时间:HH:MM;
- %T,ISO-8601 格式时间:HH:MM:SS;
- %u,一周中的第几天,1 代表星期一。
查询优化器
对于部分索引扫描,如果 WHERE 子句包含一个字段的常量值,那么可以用该常量替换该字段。这种优化增加了部分索引成为覆盖索引的可能性。
禁用了 3.42.0 版本增加的视图扫描优化,因为它导致了成倍的性能下降。
其他改进
新增了两个 C 语言 API:sqlite3_get_clientdata() 以及 sqlite3_set_clientdata()。
CREATE TABLE 语句相关的许多错误在创建表时立即抛出,而不是等到该表第一次被访问时抛出。
PRAGMA integrity_check 命令使用新的 xIntegrity 方法验证各种内置虚拟表的内容一致性。该功能支持 FTS3、FTS4、FTS5、RTREE 以及 GEOPOLY 插件。
配置选项 SQLITE_DBCONFIG_DEFENSIVE 将会阻止启用 PRAGMA writable_schema 选项。在之前的版本中,writable_schema 可以被启用,但是不会实际生效。
内置 FTS3、FTS4、FTS5、RTREE 以及 GEOPOLY 虚拟表被设置为 SQLITE_VTAB_INNOCUOUS,因此它们可以在高安全部署环境中被用于触发器。
弃用 PRAGMA case_sensitive_like 语句,因为当模式包含 LIKE 操作符时会导致数据库被 PRAGMA integrity_check 损坏的报告。
当使用 Microsoft C 编译器时,默认启用 SQLITE_USE_SEH(结构化异常处理)。该选项可以使用 -DSQLITE_USE_SEH=0 禁用。
SQLite 在运行时检查底层硬件是否支持精度大于“double”的“long double”类型,并且基于检查结果使用相应的浮点数程序。
如果系统支持,Windows 命令行接口(CLI)默认使用 UTF-8 编码进行输入输出。使用 --no-utf8 选项启动可以禁用 UTF8 支持。
相关文章:
SQLite 3.44.0 发布!
SQLite 开发团队于 2023 年 11 月 01 日发布了 SQLite 3.44.0 版本,带来了一些 SQL 和优化器增强,本文给大家做一个简要分分析。 新增 concat() 函数 新版本增加了两个连接字符串的函数:concat() 以及 concat_ws()。它们可以兼容 PostgreSQ…...
本地生活新赛道-视频号团购怎么做?
目前有在做实体行业的商家一定要看完,只要你进入了这个本地生活新的赛道,那你的生意自然会源源不断,那这个赛道又是什么呢? 这就是十月份刚刚上线的视频号团购项目,开通团购之后,就可以通过发短视频&#…...
输入一个url后,会发生什么事?
Internet上的每一个网页都具有一个唯一的名称标识,通常称之为URL(Uniform Resource Locator,统一资源定位器)。它是www的统一资源定位标志,简单地说URL就是web地址,俗称“网址”。 所以当我们在浏览器上输入一个url后&…...
R语言和jsonlite库编写代码示例
R语言和jsonlite库来下载的程序。 r # 导入jsonlite库 library(jsonlite) # 设置代理主机和端口 proxy_host <- "" proxy_port <- # 使用httr库创建一个对象 proxy <- create_proxy(proxy_host, proxy_port) # 使用httr库的GET方法下载网页内容 url <…...
容联七陌携手岚时科技,解决医美机构回访3大痛点
近日,岚时科技研发中心联合容联七陌发布了全新的智能呼叫中心系统,5大功能模块解决了医美机构回访过程中的3大难题:客户资产保全困难、客户回访技术被卡脖子、回访人员(客服、咨询)效率管理困难。 “智能呼叫中心”通过…...
自动计算零售数据分析指标?BI软件表示可行
随着BI技术的飞速发展,借助系统来计算分析指标也不是什么难事,即便是面对组合多变的零售数据分析指标,奥威BI软件也依旧可以又快又精准地完成指标计算。 BI软件可以自动计算零售数据分析指标,如销售额、库存量、订单量等。在计算…...
Qt读取xml文件并把内容显示到QTableview上
本例子中把xml文件作为数据库表。 xml文件名作为函数参数,把不同的xml文件名传入函数,会显示不同的文件内容。 以下为代码: void MainWindow::ShowContent(QString FileName) {LoadXmlContent(FileName);ShowContentInView();}bool MainWi…...
xv6-x86在ubuntu14.04 i386下正常编译、调试,在ubuntu23.04下编译各种报错--google镜像
来源 原git仓库 xv6-x86(xv6-public) 文档 mit 6.828/2023/ 文档 MIT 6.828/2018/xv6/book-rev11.pdf 原readme 注: xv6-x86(xv6-public) 已经被放弃了, 原作者转向了xv6-riscvxv6-x86文档来源:mit-pdos/xv6-book.git, 它需要 heirloom-doctools 来编译成pdf&#x…...
关于unity中 编辑器相关逻辑的记录
prefab 在场景中 , 用这个方法可以获取它的磁盘路径: [MenuItem("Gq_Tools/↓获取prefab路径")] public static void SaveDecalParameters() { var objs Selection.objects; var obj objs[0] as GameObject; Object parentObject Prefab…...
linux安装配置MongoDB并设置开机启动
linux安装配置MongoDB并设置开机启动 文章目录 linux安装配置MongoDB并设置开机启动1. 下载 MongoDB 的linux安装包2. 上传 MongoDB 安装包到linux系统中3. 解压 MongoDB 安装包4. 创建 MongoDB 必要目录5. 移动 MongoDB 安装目录6. 设置 MongoDB 环境变量7. 添加 MongoDB 配置…...
1366 - Incorrect string value: ‘\xE5\xB9\xBF\xE5\x85\xB0...‘ for column编码错误
1366 - Incorrect string value: ‘\xE5\xB9\xBF\xE5\x85\xB0…’ for column ‘campus_name’ at row 1 > 查询时间: 0s 原因是数据库创建的时候使用的默认编码latin1,导致表和字段的编码格式都是这种编码,显然这种编码不支持中文。 自己修改了数据库…...
K8S篇之谈谈kubelet的上报机制
浅析一下Kubelet的上报机制 1 kubelet上报节点状态 在K8S集群中,由运行在每个节点的Kubelet定期上报心跳到ApiServer,由此来判断Node是否存在,若Node超过一定时间没有上报心跳,则该节点的状态就会被设置为NotReady,同…...
混沌系统在图像加密中的应用(小波混沌神经网络)
混沌系统在图像加密中的应用(小波混沌神经网络) 前言一、小波混沌神经网络模型二、拓展三、python代码 前言 小波混沌神经网络是一种神经网络模型,结合了小波变换和混沌理论,用于信号处理、分类和预测。该模型基于多层前向神经网…...
Node.js中的文件系统(file system)模块
聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...
react组件间通信之context
一般用于【祖组件】与【后代组件】间通信 案例: A,B,C,D四个组件的关系分别为:爷爷,爸爸,儿子,孙子 从A向C传递参数:C组件为类式组件 从A向D传递参数:D组件为函数组件 import React, { Componen…...
京东数据分析:2023年10月京东洗衣机行业品牌销售排行榜
鲸参谋监测的京东平台10月份洗衣机市场销售数据已出炉! 10月份,洗衣机市场整体销售呈上升走势。鲸参谋数据显示,今年10月,京东平台洗衣机市场的销量为143万,环比增长约23%,同比增长约1%;销售额约…...
QQ恢复聊天记录,就用这3个方法!
无论是因为误操作、手机丢失、系统崩溃,还是因为更换了新手机,恢复重要的QQ聊天记录都是一件必做的事情。通过聊天记录,用户可以随时查看之前的信息,以便了解事情的经过。 那么,如何恢复丢失的QQ聊天记录呢࿱…...
高能数造电池3D打印智能制造小试线,开启全固态电池数字化新时代
在科技创新的浪潮中,电池制造领域又迎来了一次突破性的进展。近日,高能数造(西安)技术有限公司重磅推出了其最新电池数字制造装备——全固态电池3D打印智能制造小试线 ,这一创新性的技术开启了全固态电池的数字化智造新时代,为全固…...
stable diffusion为什么能用于文本到图像的生成
推荐基于稳定扩散(stable diffusion) AI 模型开发的自动纹理工具: DreamTexture.js自动纹理化开发包 - NSDT 稳定扩散获得如此多关注的原因 如果你还没有看过它:稳定扩散是一个文本到图像的生成模型,你可以输入一个文本提示,比如…...
c语言刷题第10周(16~20)
规律: 若多个次数最多按ASCII码顺序输出。 用for循环i取(0~26) 则输出满足条件的字符串中位置最靠前的那个。 用while循环遍历(while(a[i]!\0)) 从键盘输入任意只含有大小写字母的串s&…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
