注册 登录
编程论坛 VFP论坛

请教这个sql转临时表,日期型变成了字符型,这个怎么处理

degidt023023 发布于 2022-01-21 10:45, 979 次点击
只有本站会员才能查看附件,请 登录

上图是sql表结构,其中有两个日期型,分别是进货日期和入库时间
sqlexec(nHandle,"select * from ruku","ruku")
thisform.pageframe1.page1.grid1.RecordSource="ruku"
我把表变成临时表时,两个日期格式变成了字符型,请教怎么处理,让变成日期型,我好做查询功能!

SELECT * from ruku where 进货日期>={^2022-01-08} and 进货日期<={^2022-01-20}
老是报错,报数据类型不匹配  ,后来
SELECT ruku
GO 2
SCATTER TO b
c1=b(13)

c2=TYPE('c1')
MESSAGEBOX(c2)
返回的是C,才知道是字符型!
请教要怎么处理才能变成日期型,或者是其他解决办法,主要做查询功能,按日期查询!感谢!
2 回复
#2
laowan0012022-01-21 11:12
看下查询结果中“进货日期和入库时间”的内容格式,如果还是日期格式,查询条件中可以做格式转换
SELECT * from ruku where ctod(进货日期)>={^2022-01-08} and ctod(进货日期)<={^2022-01-20}

按说查询结果中那两个字段应该是日期型的,你这个有点奇怪

[此贴子已经被作者于2022-1-21 11:13编辑过]

#3
degidt0230232022-01-21 11:40
回复 2楼 laowan001
感谢!你的代码可以正常运行了,在请教一下,我想隐藏连个日期之外的数据改怎么写呢?
DELETE ALL FOR ruku.进货日期>={^2022-01-01} and ruku.进货日期<={^2022-01-20}&&这样写老是报错!
SET DELETED ON
thisform.Refresh
请在赐教一下,谢谢!
因为有些数据不是很多表,我就想隐藏两个日期之外的数据,这样同样达到了,查询的目的,省去一些事!
1