xin266 发表于 2019-12-2 10:24:36

sqlite表里面导入的日期2019-5-6 怎么统一成2019-05-06

sqlite表里面导入的日期2019-5-6 怎么统一成2019-05-06

chzj589 发表于 2019-12-2 10:39:01

用什么文件导入?

xin266 发表于 2019-12-3 16:45:18

chzj589 发表于 2019-12-2 10:39
用什么文件导入?

csv 导入到sqlite

chzj589 发表于 2019-12-3 17:02:15

xin266 发表于 2019-12-3 16:45
csv 导入到sqlite

$h2 ="日期栏"
Local $StripWS = StringStripWS($h2, 8)
Local $sString = StringMid($StripWS, 1, 4) & "-" & StringMid($StripWS, 5, 2) & "-" & StringMid($StripWS, 7, 2)

xin266 发表于 2019-12-3 18:58:35

chzj589 发表于 2019-12-3 17:02
$h2 ="日期栏"
Local $StripWS = StringStripWS($h2, 8)
Local $sString = StringMid($StripWS, 1, 4)...

非常感谢!

afan 发表于 2019-12-3 20:20:31

chzj589 发表于 2019-12-3 17:02
$h2 ="日期栏"
Local $StripWS = StringStripWS($h2, 8)
Local $sString = StringMid($StripWS, 1, 4)...

字符串有长短区别,单数月或单数日肯定和双数有一错

chzj589 发表于 2019-12-3 21:08:24

afan 发表于 2019-12-3 20:20
字符串有长短区别,单数月或单数日肯定和双数有一错

我觉得有点怪,CSV文件不会<2019-7-9>啊,应该是<2019/7/9>。
如果是<2019年7月9日>,导入后应该是<20190709000000>。

afan 发表于 2019-12-3 21:17:04

chzj589 发表于 2019-12-3 21:08
我觉得有点怪,CSV文件不会<2019-7-9>啊,应该是<2019/7/9>。
如果是<2019年7月9日>,导入后应该是 ...

就LZ的问题,用 StringFormat() 比较方便
Local $sSource = '2019-7-9'
;~ Local $sSource = '2019/7/9'
;~ Local $sSource = '2019-12-9'
Local $aSRE = StringRegExp($sSource, '(\d+)\D(\d+)\D(\d+)', 1)
If @error Then Exit
Local $sFmt = StringFormat('%04s-%02s-%02s', $aSRE, $aSRE, $aSRE)
MsgBox(0, $sSource, $sFmt)

chzj589 发表于 2019-12-4 07:04:30

afan 发表于 2019-12-3 21:17
就LZ的问题,用 StringFormat() 比较方便

正则表达式还不会。
下面怎样匹配
Local $sSource = '20191204000000'
Local $aSRE = StringRegExp($sSource, '(\d+)\D(\d+)\D(\d+)', 1)???
If @error Then Exit
Local $sFmt = StringFormat('%04s-%02s-%02s', $aSRE, $aSRE, $aSRE)
MsgBox(0, $sSource, $sFmt)

afan 发表于 2019-12-4 09:40:19

chzj589 发表于 2019-12-4 07:04
正则表达式还不会。
下面怎样匹配
Local $sSource = '20191204000000'


这种已经是补零了的,位置固定,用Mid可以
用正则改为以下
Local $aSRE = StringRegExp($sSource, '^(\d{4})(\d\d)(\d\d)', 1)

chzj589 发表于 2019-12-4 09:52:04

afan 发表于 2019-12-4 09:40
这种已经是补零了的,位置固定,用Mid可以
用正则改为以下
Local $aSRE = StringRegExp($sSource, '^(\ ...

谢谢!学习正则表达式

xin266 发表于 2019-12-4 11:37:27

afan 发表于 2019-12-3 21:17
就LZ的问题,用 StringFormat() 比较方便

我最终是导出数据用excel 解决了


数据量不大

写代码有点麻烦
页: [1]
查看完整版本: sqlite表里面导入的日期2019-5-6 怎么统一成2019-05-06