根据 Excel 列生成 SQL

公司有个历史数据刷数据的需求, 开发功能有点浪费, 手工刷数据有点慢, 所以研究了下 excel 直接生成 SQL, 挺好用, 记录一下;

例如这是我们的数据, 要求把创建时间完成时间刷进数据库中, 工单编号唯一

Excel 公式如下:

sql 复制代码
="UPDATE     service_order     SET     create_time ='"&TEXT(B2,"yyyy-mm-dd hh:mm:ss")&"' "&IF(C2="","",",     complete_time='"&C2&"' ")&"    
WHERE      order_no='"&A2&"';"

"&公式&" 通过这种格式引用公式

'"&C2&"' 这么写是因为 单元格C2 在引号内引用, 不加 "&&" 就会被当字符串处理, 无法动态引用单元格, 所以要特殊处理, IF 函数用来判断 C 列空的情况

生成后的效果如下

相关推荐
华仔啊3 小时前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing4 小时前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠20 小时前
各版本JDK对比:JDK 25 特性详解
java
用户83071968408220 小时前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide21 小时前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家21 小时前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺21 小时前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户9083246027321 小时前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
桦说编程1 天前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
程序员清风1 天前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试