SQLite 字符串含 NUL 字符问题多,教你判断和移除!
📅 2026/7/16 8:44:01
👁️ 次浏览
字符串中的 NUL 字符1. 引言SQLite 允许数据库存储的字符串值中间包含 NUL 字符ASCII 0x00Unicode \u0000。然而在字符串中使用 NUL 可能会引发一些意外状况其一[length() SQL 函数](lang_corefunc.html#length) 仅统计到第一个 NUL 字符不包括该字符之前的字符数量其二[quote() SQL 函数](lang_corefunc.html#quote) 只显示到第一个 NUL 字符不包括该字符之前的字符其三[CLI](cli.html) 中的 [.dump](cli.html#dump) 命令在生成的 SQL 输出中会省略第一个 NUL 字符以及其后的所有文本实际上[CLI](cli.html) 在所有情况下都会省略第一个 NUL 字符之后的所有内容。所以不建议在 SQL 文本字符串中使用 NUL 字符。2. 意外行为来看下面这段 SQLCREATE TABLE t1( a INTEGER PRIMARY KEY, b TEXT ); INSERT INTO t1(a,b) VALUES(1, abc||char(0)||xyz); SELECT a, b, length(b) FROM t1;上述 SELECT 语句的输出为1,abc,3这里假设 [CLI](cli.html) 已设置为 [.mode quote](climode.html#dotmodequote)。但要是运行SELECT * FROM t1 WHERE babc;则不会返回任何行。SQLite 知道 t1.b 列实际存储的是一个 7 字符的字符串而 7 字符的字符串 abc||char(0)||xyz 不等于 3 字符的字符串 abc所以不会返回任何行。可这可能会让用户感到困惑因为 [CLI](cli.html) 的输出似乎显示该字符串只有 3 个字符。这看似是个 bug但这就是 SQLite 的运行方式。3. 如何判断字符串中是否有 NUL 字符若使用 [CAST](lang_expr.html#castexpr) 将字符串转换为 BLOB就能看到字符串的完整长度。例如SELECT a, CAST(b AS BLOB) FROM t1;结果如下1,X6162630078797a在 BLOB 输出中可以清晰地看到 NUL 字符是 7 字符字符串中的第 4 个字符。还有一种更自动化的方法是使用如下表达式判断字符串值 X 是否包含嵌入的 NUL 字符instr(X,char(0))如果该表达式返回非零值 N则表明在第 N 个字符位置存在嵌入的 NUL 字符。因此要统计包含嵌入 NUL 字符的行数可以使用以下语句SELECT count(*) FROM t1 WHERE instr(b,char(0))0;4. 从文本字段中移除 NUL 字符下面的示例展示了如何从表的某一列中移除 NUL 字符及其后面的所有文本。所以如果你有一个包含嵌入 NUL 字符的数据库文件并且想移除它们运行类似以下的 UPDATE 语句或许会有帮助UPDATE t1 SET bsubstr(b,1,instr(b,char(0))) WHERE instr(b,char(0));
Poissonsearch-oss开发者指南:Java API使用技巧与自定义插件开发 【免费下载链接】poissonsearch-oss A near-realtime distributed search and analytics engine dirived from elasticsearch-oss 7.10.2. 项目地址: https://gitcode.com/openeuler/poissonsearch…
📅 2026/7/16 8:44:01
1. 项目概述:这不是“换壳”,而是给 ClaudeCode 装上飞书与 Discord 的神经末梢 你有没有试过在写完一段 Python 脚本后,想立刻让同事在飞书里看到执行结果,或者让 Discord 频道里的技术群组自动收到服务器告警?结果发…
📅 2026/7/16 8:43:00
1. 什么是编程中的"魔数"?第一次在代码中看到0xDEADBEEF时,我差点以为这是哪个程序员的恶作剧。毕竟,谁会正经地在代码里写"死牛肉"呢?但当我深入查阅资料后才发现,这个看似玩笑的十六进制数&…
📅 2026/7/16 8:43:00
说实话,刚看到al4geo8这个词的时候,我整个人是懵的。网上铺天盖地的广告,什么“一夜暴富”、“技术突破”,看得我眼晕。作为一个在互联网行业摸爬滚打十年的老鸟,我太清楚这种套路了。以前我也信过邪,结果被割得连底裤都不剩。这次看到al4geo8,心里虽然打鼓,但好奇心还…
📅 2026/7/16 9:43:36
1. FFT基础与STM32F103的挑战 快速傅里叶变换(FFT)是数字信号处理中的核心算法,它能够将时域信号转换为频域表示。对于嵌入式开发者来说,在资源有限的STM32F103(Cortex-M3内核)上实现FFT确实是个有趣的挑战…
📅 2026/7/16 9:42:52
混沌测试本地轻量化工具:进程 CPU / 内存 / 网络延迟注入,无需 Chaos Mesh,单机验证程序容错能力
摘要
在云原生架构普及的当下,混沌工程已从大厂生产环境的专属演练能力,演变为开发阶段常态化的容错验证手段。提到混沌测试工具,很多人会想到 Chaos Mesh—— 这款 CNCF…
📅 2026/7/16 9:42:52
1. Windows系统概述与核心特性 Windows操作系统作为全球使用最广泛的个人电脑平台,自1985年诞生以来已经迭代了数十个版本。当前主流版本包括Windows 10/11的家庭版、专业版和企业版,以及面向服务器的Windows Server系列。系统采用图形用户界面(GUI)与命…
📅 2026/7/16 9:42:52
1. 先搞清楚这类录播内容到底适合谁看 如果你经常关注 CS:GO 的实战技巧,或者想通过职业选手的第一视角来提升自己的枪法、意识和决策能力,这类录播确实值得一看。但要注意,它和官方赛事解说、剪辑集锦完全不同——录播的核心价值在于完整还原…
📅 2026/7/16 9:42:52
1. Linux磁盘管理基础概念在Linux系统中,磁盘管理是系统管理员必须掌握的核心技能之一。与Windows系统不同,Linux采用了一种更加灵活和强大的磁盘管理方式。理解Linux磁盘管理的基本原理,对于系统性能优化、存储空间规划以及故障排查都至关重…
📅 2026/7/16 9:42:52
1. 项目概述:为什么用遗传算法解5皇后问题,而不是直接回溯?我带过十几届算法课,也给不少初创团队做过AI架构咨询。每次讲到组合优化问题,学生和工程师的第一反应永远是“写个回溯试试”。这没错——55棋盘上找所有合法…
📅 2026/7/16 0:00:02
前几天调试一个简单的电源模块,用到了5.1V稳压管。电路接好,上电测试,万用表一量——输出居然只有4.7V。第一反应是稳压管坏了,换了一个新的,结果还是4.7V。这让我想起很多初学者都会遇到的困惑:明明标称5.…
📅 2026/7/16 0:00:02
1. 项目概述与核心价值 在高速数字系统、通信设备乃至精密测量仪器中,一个稳定、纯净且可精确调控的时钟信号,往往是整个系统稳定运行的“心跳”。无论是确保数据在光纤中无误传输,还是让ADC/DAC芯片精准采样,亦或是让多块FPGA板卡…
📅 2026/7/16 0:00:02
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/15 22:51:06
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/15 19:03:10
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/15 14:09:20
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/15 22:46:06
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/16 4:59:31
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/15 22:51:03