回 帖 发 新 帖 刷新版面

主题:请教:怎样把日期19901205 自动变成1990-12-05的格式

请高手帮一下忙,把把日期19901205 自动变成1990-12-05的格式,谢谢!

回复列表 (共14个回复)

沙发

mydoc='19001205'
set date to ansi
mydate=ctod(subst(mydoc,1,4)+'.'+subst(mydoc,5,2)+'.'+subst(mydoc,7,2))

板凳

二楼的朋友,我的意思是要把所有的日期通过程式自动变成带两个-的(即1990-12-05),麻烦你把表达式说明白点,我可是菜鸟,谢谢了!(你可以假定表名是A表,列名定为日期,这样帮我写就行)

3 楼

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 楼

楼主的日期字段应该是字符型的,这就简单多了:

repl all 表.日期 with subst(表.日期,1,4)+'-'+subst(表.日期,5,2)+'-'+subst(表.日期,7,2)

 

5 楼

谢谢高手的指教,你的程式我顺利通过了,
repl all 表.日期 with subst(表.日期,1,4)+'-'+subst(表.日期,5,2)+'-'+subst(表.日期,7,2)
但我想把各班的所有日期都完成,这样必须逐个修改表名,这样很麻烦,你再帮我把程式改成一打开各班的表名,再运行你的程式就能完成的这项工作的,谢谢!

6 楼

各班表名是怎样的?有什么规律可循吗?

7 楼

你好,表名当然是各不相同的,要是太麻烦就算了,你帮我这个忙我已经很感谢了!
另外还要请教你,已知A表,有成绩1、成绩2、成绩3、成绩4、成绩5,现在要在B表上分别把A表中各项的成绩分别+0.5自动输入到B表中,请问程式要怎样写呢?

8 楼

请试试:
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 楼

[quote]谢谢高手的指教,你的程式我顺利通过了,
repl all 表.日期 with subst(表.日期,1,4)+'-'+subst(表.日期,5,2)+'-'+subst(表.日期,7,2)
但我想把各班的所有日期都完成,这样必须逐个修改表名,这样很麻烦,你再帮我把程式改成一打开各班的表名,再运行你的程式就能完成的这项工作的,谢谢![/quote]
把各班的表名,举几个例子,我看有没有规律可循。

10 楼


自动变换成绩已经能够顺利通过,不过B表只剩下成绩,其它的各项包括姓名什么的都没有了,

我来回复

您尚未登录,请登录后再回复。点此登录或注册