问题描述:因为EXCEL导出字段是葡语,与表中字段不对应,不能使用navicat一键导入,所以要将excel表的数据用value提取出来用insert语句插入,但是其中某张表excel的="values('"&A2&"','"&B2&"');"这个函数,将原本的日期数据转成了一串数字

实际得到内容:

猜测:和mysql的date_add()函数有关,类似select date_add(1900年1月1号, 43105);1900年1月1号是因为Excel中的日期是从1900年1月1日开始的。

实践:使用另外一个函数=TEXT(目标数据,"YYY/MM/DD")或者输入=点此处,选择text

这样的可以提前看到转出的内容,可以按照想要的格式转换,将文本形式的日期(数字)转成日期。新建一列,把所有数据转换之后在VALUE里面取值新的一列即可

注意 Mysql的起始时间是2001-01-01 00:00:00,wps和excel是1900-01-01 00:00:00,如果字段里面有空值,新生成的一列中会自动把空值设置为起始时间,插入数据库之后还要把字段更新成null或者指定值。

UPDATE 表名 SET 字段名= null WHERE 字段= '2001-01-01 00:00:00';

如果字段很多可以在idea里新建个text使用多行操作很方便。

value 值可以为毫秒的时间戳,例如:16481008820000 value 可以为 日期 组合(可以为年,年月,年月日),例如:19781001 value 可以为 日期 形式,例如:2000-1-1 或 2000/1/1 value 可以为 日期 加时间,例如:2000-1-1 10:10:10 value 值采用递进式,即年是必须的,如果有日的话,就必须有月。例如:2002、2002-10、2002-10-1 value 值对于01和1是一致的 value 可以为长 日期 、完整 日期 、短 日期
首先R单元格和S单元格中的 日期 必须为有效 日期 ;例如:2000/1/1(注意: 日期 不能为2000/0/0或2000/1/32)一定要为有效 日期 ! 其次R单元格一定是开始 日期 ,S单元格一定是结束 日期 ;(也就是S 日期 在R 日期 后边) =datedif(r1,s1,"d") //计算天数差 =datedif(r1,s1,"m") //计算月数差 =datedif(r1,s1,"y") //...
记一次SimpleDateFormat 格式化 日期 ,解析出来的 日期 错误 ! 今天将2021-12-16 00:00:00格式的 日期 转为20211216格式的,通过使用SimpleDateFormat进行格式化,解析后的结果竟然是20201102。 解决办法: 分两次解析,第一次解析格式yyyy-MM-dd格式的 发现Date 时间戳已经正确了,再创建一个SimpleDateFormat 对象,调用format方法即可得到想要的格式字符串。 poi把 日期 数据也归类为Cell.CELL_TYPE_NUMERIC数字类型, 并且在cell中是正确读取到了 2015-05-25,但是在使用cell.getNumericCell Value ()方法获取时却发生了变化,返回了42149.0 * 获取每个单元格的内容 private static Object getCel...
<el-pagination :page-size="pageSize" // 设置每页显示多少条 @current-change="currentChangeHandle" // 当前页数改变时调用 函数 :current-page="currentPage" // 当前第几页 layout="total
# VALUE !( 函数 返回的 错误 值),经常使用 excel 表格的同学并不陌生。因 函数 使用时参数等导致出现# VALUE ! 问题 ,对于表格表姐,这本不是什么太大的困难,但要是遇到一个强迫症表哥,数据表格中满眼# VALUE !,这压力有多大是可以想象的到的。还有一点,没有几个领导会对有# VALUE !存在的报告有好感,所以,还是找去掉# VALUE !的解决方案吧。 赠送一个嵌套 函数 ,你不用知道它内部是如何运行,只