主题:请教:怎样把日期19901205 自动变成1990-12-05的格式
stxinhui
[专家分:0] 发布于 2008-12-05 22:25:00
请高手帮一下忙,把把日期19901205 自动变成1990-12-05的格式,谢谢!
回复列表 (共14个回复)
沙发
jianzho [专家分:7560] 发布于 2008-12-05 22:36:00
mydoc='19001205'
set date to ansi
mydate=ctod(subst(mydoc,1,4)+'.'+subst(mydoc,5,2)+'.'+subst(mydoc,7,2))
板凳
stxinhui [专家分:0] 发布于 2008-12-05 23:17:00
二楼的朋友,我的意思是要把所有的日期通过程式自动变成带两个-的(即1990-12-05),麻烦你把表达式说明白点,我可是菜鸟,谢谢了!(你可以假定表名是A表,列名定为日期,这样帮我写就行)
3 楼
qjbzjp [专家分:8830] 发布于 2008-12-06 16:14:00
SET CENTURY ON
SET MARK TO "-"
set date to ansi
mydoc="19901205"
mydate=ctod(subst(mydoc,1,4)+'.'+subst(mydoc,5,2)+'.'+subst(mydoc,7,2))
4 楼
qjbzjp [专家分:8830] 发布于 2008-12-07 08:43:00
楼主的日期字段应该是字符型的,这就简单多了:
repl all 表.日期 with subst(表.日期,1,4)+'-'+subst(表.日期,5,2)+'-'+subst(表.日期,7,2)
5 楼
stxinhui [专家分:0] 发布于 2008-12-07 22:01:00
谢谢高手的指教,你的程式我顺利通过了,
repl all 表.日期 with subst(表.日期,1,4)+'-'+subst(表.日期,5,2)+'-'+subst(表.日期,7,2)
但我想把各班的所有日期都完成,这样必须逐个修改表名,这样很麻烦,你再帮我把程式改成一打开各班的表名,再运行你的程式就能完成的这项工作的,谢谢!
6 楼
qjbzjp [专家分:8830] 发布于 2008-12-08 08:32:00
各班表名是怎样的?有什么规律可循吗?
7 楼
stxinhui [专家分:0] 发布于 2008-12-08 22:25:00
你好,表名当然是各不相同的,要是太麻烦就算了,你帮我这个忙我已经很感谢了!
另外还要请教你,已知A表,有成绩1、成绩2、成绩3、成绩4、成绩5,现在要在B表上分别把A表中各项的成绩分别+0.5自动输入到B表中,请问程式要怎样写呢?
8 楼
qjbzjp [专家分:8830] 发布于 2008-12-09 11:58:00
请试试:
SELECT 成绩1+0.5 成绩1,成绩2+0.5 成绩2,成绩3+0.5 成绩3,成绩4+0.5 成绩4,成绩5+0.5 成绩5 from 表a into table b表
USE b表
BROWSE
9 楼
qjbzjp [专家分:8830] 发布于 2008-12-09 12:03:00
[quote]谢谢高手的指教,你的程式我顺利通过了,
repl all 表.日期 with subst(表.日期,1,4)+'-'+subst(表.日期,5,2)+'-'+subst(表.日期,7,2)
但我想把各班的所有日期都完成,这样必须逐个修改表名,这样很麻烦,你再帮我把程式改成一打开各班的表名,再运行你的程式就能完成的这项工作的,谢谢![/quote]
把各班的表名,举几个例子,我看有没有规律可循。
10 楼
stxinhui [专家分:0] 发布于 2008-12-09 14:20:00
自动变换成绩已经能够顺利通过,不过B表只剩下成绩,其它的各项包括姓名什么的都没有了,
我来回复