news 2026/9/3 22:56:16

NocoDB 公式与计算字段实战:内置函数清单助你彻底告别Excel

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
NocoDB 公式与计算字段实战:内置函数清单助你彻底告别Excel

NocoDB 公式与计算字段实战:内置函数清单助你彻底告别Excel

【免费下载链接】nocodb🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb

NocoDB 是一款免费、可自托管的 Airtable 替代工具,内置强大的公式(Formula)计算字段能力:无需编写代码,用 70 多个内置函数即可完成求和、日期推算、条件判断、字符串拼接与正则处理,让原本依赖 Excel 的复杂计算直接在你的数据库表格里完成。本文整理了一份完整的 NocoDB 公式内置函数清单,并给出 5 个高频实战场景,帮助你快速上手。

什么是 NocoDB 公式字段?

在 NocoDB 中,公式字段是一种只读的计算列:它的值由同一行其他字段的值实时推导得出,并直接下推到你连接的任意数据库(PostgreSQL、MySQL、SQLite、SQL Server、Oracle 等)执行计算。

它的核心特点:

  • 📊实时计算:数据一变,公式结果立即更新,无需手动刷新
  • 🔒只读安全:公式列不可手动编辑,杜绝"手滑改错结果"
  • 🌐跨库兼容:同一套公式语法自动翻译成不同数据库的 SQL,前端提示与后端执行完全一致
  • 🎯可视化编辑:公式编辑器自动识别字段名({字段名})、高亮函数关键字、实时校验错误位置

计算公式的字段清单定义在 formulas.ts,编辑器界面由 FormulaOptions.vue 和 FormulaInputHelper.vue 提供。

3 步创建第一个计算字段

创建公式字段的步骤非常简单:

  1. 打开一张表,点击列头右侧的+号新增字段
  2. 字段类型选择公式(Formula),在公式编辑框中输入表达式,字段名用花括号引用,例如{单价} * {数量}
  3. 输入时编辑器会实时校验——语法错误会直接标出错误位置;保存后可在"格式化"选项卡中把结果显示为货币、百分比、日期等样式

小技巧:公式结果默认按数据类型自动展示,你也可以在格式化选项卡中为数字结果指定货币符号、小数位数、进度条样式等,让它看起来像真正的报表。

NocoDB 内置公式函数完整清单

以下是 NocoDB 当前支持的全部内置函数,按用途分组整理,建议收藏备用 📌

数学与数值函数

函数作用
ADD/AVG/MIN/MAX加法、平均值、最小值、最大值
ROUND/ROUNDUP/ROUNDDOWN四舍五入 / 向上取整 / 向下取整(可指定小数位)
CEILING/FLOOR向上 / 向下取整到整数
MOD/ABS/SQRT取余、绝对值、平方根
POWER/EXP/LOG幂运算、指数、对数
EVEN/ODD取不小于/不大于参数的偶数、奇数
COUNT/COUNTA/COUNTALL统计数字、非空值、参数总数
VALUE把文本转换为数字(支持百分号)
INT/FLOAT取整数部分 / 转浮点数

日期与时间函数

函数作用
NOW当前日期时间
DAY/MONTH/YEAR/HOUR提取日、月、年、小时
WEEKDAY/WEEKNUM星期几(周一为 0)、第几周(与 Excel 兼容)
DATEADD日期加减,支持 day/week/month/year/hour/minute/second 单位
DATETIME_DIFF计算两个时间点的差值(秒到年多种单位)
DATESTR/DATETIME_FORMAT转日期文本 / 自定义日期格式
CREATED_TIME/LAST_MODIFIED_TIME记录创建时间 / 最后修改时间(可精确到指定字段)

日期函数的合法单位校验逻辑见 commonFns.ts,不同数据库的日期函数翻译实现分别在 pg.ts 与 sqlite.ts 中。

字符串函数

函数作用
CONCAT/REPEAT文本拼接 / 重复文本
LEFT/RIGHT/MID/SUBSTR截取左侧、右侧、中间字符
LEN/TRIM文本长度 / 去除首尾空格
UPPER/LOWER转大写 / 转小写
REPLACE/SEARCH替换文本 / 查找子串位置
URL/URLENCODE构造链接 / URL 编码
STRING/BLANK转文本 / 返回空值

逻辑与条件函数

函数作用
IF条件判断:IF(条件, 真值, 假值)
SWITCH多分支选择,适合"一值对多结果"场景
AND/OR/XOR逻辑与 / 逻辑或 / 逻辑异或
ISBLANK/ISNOTBLANK判断为空 / 非空
ISNULL/ISNOTNULL判断为 NULL / 非 NULL
TRUE/FALSE布尔常量

正则、哈希与 JSON 函数

函数作用
REGEX_MATCH正则匹配判断
REGEX_EXTRACT正则提取片段
REGEX_REPLACE正则替换
MD5/SHA256/SHA512生成文本哈希值
JSON_EXTRACT从 JSON 字段中按路径提取值

数组函数

函数作用
ARRAYUNIQUE数组去重
ARRAYSORT数组排序(asc/desc)
ARRAYCOMPACT移除数组空值
ARRAYSLICE截取数组片段

5 个高频实战场景

场景一:订单金额自动汇总

{单价} * {数量}

结果在格式化选项卡中设为"货币",配合ROUND({单价} * {数量}, 2)即可得到两位小数的应付金额——再也不用在 Excel 里手动乘一遍。

场景二:状态标记与条件标签

IF({状态} = "已完成", "✅ 已交付", IF({状态} = "进行中", "⏳ 处理中", "⚪ 待开始"))

IF支持嵌套,多分支较多时改用SWITCH更清晰:

SWITCH({优先级}, "高", "🔴", "中", "🟡", "低", "🟢")

场景三:日期推算与账期计算

DATEADD({下单日期}, 30, "day") // 账期截止日 DATETIME_DIFF({完成时间}, {开始时间}, "hour") // 工时(小时) IF(WEEKDAY({交付日期}) > 4, "已超时", "正常") // 周末交付预警

场景四:工单号自动拼接

CONCAT("SO-", {YEAR(下单日期)}, "-", {REPEAT("0", 5 - LEN({序号}))}, {序号})

生成SO-2026-00042这样的规范单号;URLENCODE还能把中文参数安全地拼进链接里。

场景五:数据校验与唯一指纹

REGEX_MATCH({邮箱}, "^[\\w.-]+@[\\w-]+(\\.[\\w-]+)+$") // 邮箱格式校验 MD5(CONCAT({姓名}, "{手机号}")) // 生成客户唯一指纹

公式结果还能用于过滤、排序和看板分组,例如按公式列"已超时/正常"分组,即可瞬间得到一张风险清单。

公式字段 vs 查找/汇总字段:怎么选?

能力公式字段查找字段(Lookup)汇总字段(Rollup)
计算范围同一行内的多个字段跨表引用关联记录的某个字段对关联记录的多个值聚合(求和、计数等)
典型例子{单价}*{数量}显示订单对应客户的电话汇总一个客户所有订单总额
是否可编辑❌ 只读❌ 只读❌ 只读

经验法则:行内计算用公式,跨表取数用查找,跨表统计用汇总。三者可以自由组合嵌套,例如"用公式把 Lookup 取来的文本转大写"。

常见问题 FAQ

Q1:公式为什么报错,如何定位?公式编辑器会在输入时实时校验,错误会标注在出错字符的位置上;字段名不存在、括号不配对、函数参数类型不符是三类最常见错误。语法工具函数见 formulaUtils.ts。

Q2:哪些字段类型不能作为公式的输入?二维码、条码、按钮这类非数据字段不支持参与公式计算,其余数据字段均可自由引用。

Q3:公式在不同数据库中结果会不一样吗?不会。NocoDB 会把同一套公式自动翻译为对应数据库的 SQL 执行(实现位于 functionMappings/ 目录),你只需写一次。

Q4:公式结果能用来过滤和排序吗?可以。公式列和普通列一样支持过滤、排序、分组,是构建"风险清单""到期提醒"等视图的关键。

写在最后

NocoDB 的公式计算字段把 Excel 用户最依赖的能力——条件判断、日期推算、文本拼接、正则校验——完整搬进了可自托管的在线数据库,70+ 内置函数覆盖了绝大多数日常计算需求。配合看板、日历、表单等多种视图(项目说明参见 README.md),你完全可以告别"导出 → Excel 算一遍 → 再导回去"的低效循环,让所有计算都发生在数据的第一现场。

【免费下载链接】nocodb🔥 🔥 🔥 A Free & Self-hostable Airtable Alternative项目地址: https://gitcode.com/GitHub_Trending/no/nocodb

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 22:54:41

npx skills 交互式安装:一条命令三次按键装好 AI 技能

npx skills 交互式安装:一条命令三次按键装好 AI 技能 【免费下载链接】skills The open agent skills tool - npx skills 项目地址: https://gitcode.com/GitHub_Trending/ad/skills 第一次在终端里给 AI 助手装技能,不用记任何参数。npx skills…

作者头像 李华
网站建设 2026/9/3 22:53:59

数据中台“原样导入”避坑指南:字段映射、质量校验与批次留痕

之前的业务迭代里,遇到一个特别典型的场景:业务方给了一批线下渠道的订单明细,要求“原样导入”数据中台,不做任何加工。我当时也以为这就是一次普通的数据搬运,把源文件搬到 ODS 层,跑完任务,报…

作者头像 李华
网站建设 2026/9/3 22:53:30

Unity+ASP.NET TCP联机Demo:从Socket底层到跨平台部署

简介:本资源是一套基于ASP.NET后端与Socket通信实现的Unity多人联机游戏完整Demo,面向Unity开发者、网络编程初学者及C#全栈学习者,解决实时多人交互游戏开发中服务端架构搭建、客户端连接同步与跨平台通信等核心问题。压缩包共301个文件&…

作者头像 李华
网站建设 2026/9/3 22:52:18

美加狮TITAN75 Turbo评测:光轴快速触发,千元体验下放?

机械键盘圈最近两年的"内卷",其实已经不止停留在外观配色和轴体名字上了。真正被卷下来的是技术门槛:快速触发(Rapid Trigger)、可调触发行程、高回报率这些以前只出现在千元级旗舰上的功能,正在以肉眼可见的…

作者头像 李华
网站建设 2026/9/3 22:50:05

Ghostscript 9.56实战:PostScript转PDF及OrCAD书签生成指南

简介:Ghostscript 9.56.1 是一份面向开发人员、系统管理员及印刷出版从业者的 PostScript 与 PDF 处理引擎源码包,可作为命令行工具构建部署,用于文档格式转换、打印驱动调用、图像光栅化等场景。包体为 gz 压缩格式,整体约 79.56…

作者头像 李华