注册 登录
编程论坛 VFP论坛

请教字符转日期

fanjinyu9108 发布于 2023-02-08 16:48, 1138 次点击
电子表的单元格是日期型的,比如“2023年1月8日”,导入数据库,用CTOD()函数出来的却是空值,比如 CTOD('2023年1月8日'),请问怎么办?
8 回复
#2
laowan0012023-02-08 17:09
MESSAGEBOX(CTOD(CHRTRANC('2023年1月8日','年月日','..')))
#3
fanjinyu91082023-02-08 18:39
谢谢laowan001师傅的解答,这个问题解决了,但是在存盘到SQL数据库的时候,还是遇到麻烦,在SQL端,我设置字段的类型是DATE,使用函数dtoc(CTOD(CHRTRANC(xx1,'年月日','..')))存盘到SQL数据库,当电子表格的单元格有日期时
就能正常存盘,但是当电子表格的单元格是空值时,就不能存盘,也就说SQL的DATE时不允许有空白值的(不是NULL),是这样的吗?但是我的表日期有时必须是空值,遇到这样的问题怎么解决呢?是不是还是要把字段设置成字符型的。
#4
csyx2023-02-08 18:53
把后端数据库该字段改成允许 Null 带来的前端代码修改,其工作量总比改成字符型的小吧?
#5
fanjinyu91082023-02-08 19:29
我说的空白不是null,就是屏幕显示空白,NULL值屏幕显示也是NULL

[此贴子已经被作者于2023-2-8 19:34编辑过]

#6
laowan0012023-02-09 10:43
日期格式没有空白,需要的话可以在前台把日期转换为字符型,当NULL值时赋值空白
#7
吹水佬2023-02-09 14:44
以下是引用fanjinyu9108在2023-2-8 19:29:12的发言:

我说的空白不是null,就是屏幕显示空白,NULL值屏幕显示也是NULL

有个 SET 命令可以设置 NULL 显示为空
#8
fanjinyu91082023-02-09 16:31
请教这是什么命令?
#9
igaoyuan2023-02-09 20:57
回复 楼主 fanjinyu9108
试试先把excel表格的日期格式变更为ansi格式,然后再导入
只有本站会员才能查看附件,请 登录
1