| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3909 人关注过本帖
标题:求助:如何实现两个字符型字段之间的加减法?
只看楼主 加入收藏
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
表己经上传了
大侠能不能帮我看看
按说repl all xz with str(val(left(byrq,4))-val(left(rxrq,4)))

repl all xz with str(val(substr(byrq,4,1))-val(substr(rxrq,4,1)))
应该是对的啊,咋个运行了是空的呢
2012-11-28 11:58
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用yilance在2012-11-28 11:54:02的发言:

repl all xz with str(val(left(byrq,4))-val(left(rxrq,4)))

repl all xz with str(val(substr(byrq,4,1))-val(substr(rxrq,4,1)))
这两条语句都用了,可是都显示的是空的,不知道为何
看着是没问题的语句啊
update 表 set xz=str(val(left(byrq,4))-val(left(rxrq,4)))

2012-11-28 11:59
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:0 
以下是引用yilance在2012-11-28 11:58:34的发言:

表己经上传了
大侠能不能帮我看看
按说repl all xz with str(val(left(byrq,4))-val(left(rxrq,4)))

repl all xz with str(val(substr(byrq,4,1))-val(substr(rxrq,4,1)))
应该是对的啊,咋个运行了是空的呢
update xl_2008_50 set xz=allt(str(val(left(byrq,4))-val(left(rxrq,4))))

这个行 试过
2012-11-28 12:03
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
以下是引用tlliqi在2012-11-28 11:59:26的发言:

update 表 set xz=str(val(left(byrq,4))-val(left(rxrq,4)))
update 复xl_2008_50.dbf set xz=str(val(left(byrq,4))-val(left(rxrq,4)))
也用了,还是空
运行倒是没问题
2012-11-28 12:06
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
update 表 set xz=allt(str(val(left(byrq,4))-val(left(rxrq,4))))
这个没问题了
哈哈!
得加allt
行啦!
多谢各位大侠们!
结贴去喽!
2012-11-28 12:08
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
感谢 tlliqi 月沐庭轩  taohua300 三位大侠 !
真心感谢!


[ 本帖最后由 yilance 于 2012-11-28 12:10 编辑 ]
2012-11-28 12:08
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
REPLACE all xz with ALLTRIM(str(val(left(byrq,4))-val(left(rxrq,4))))

相互学习,互相交流,共同提高。
2012-11-28 12:18
bccn201203
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:680
专家分:1140
注 册:2012-3-14
收藏
得分:0 
字段是字符型,还是日期型,不是主要的,关键是表结构设置是否合理。
数据录入是否规范,学制满一年的概念是什么,是否必须是12个月,学制才是一年,这个是主要的。
示例中
RXRQ:20050301
BYRQ:20080110
这个期间日期不满36个月,学制如何计算。
我认为楼主的数据录入不规范,造成了计算结果的错误。

[ 本帖最后由 bccn201203 于 2012-11-28 12:35 编辑 ]
2012-11-28 12:33
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
以下是引用qjbzjp在2012-11-28 12:18:26的发言:

REPLACE all xz with ALLTRIM(str(val(left(byrq,4))-val(left(rxrq,4))))
恩,这个也可以!
感谢!
2012-11-28 14:47
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
以下是引用bccn201203在2012-11-28 12:33:50的发言:

字段是字符型,还是日期型,不是主要的,关键是表结构设置是否合理。
数据录入是否规范,学制满一年的概念是什么,是否必须是12个月,学制才是一年,这个是主要的。
示例中
RXRQ:20050301
BYRQ:20080110
这个期间日期不满36个月,学制如何计算。
我认为楼主的数据录入不规范,造成了计算结果的错误。
哦,不是的
我贴子上写的只是一个例子罢了(表述不是太正确哈)
实际的数据是入学日期20050301,毕业是20080110,这样学制就是3年,所以只要按年减就可以了(不是按月计算,教育主管部门就是这样规定的,就像我们大学入学是9月份,毕业是7月份,不是整整的年)
使用这个allt(str(val(left(byrq,4))-val(left(rxrq,4))))中的left 应该更为准确些,这样就是年-年
而不val(substr(byrq,4,1))-val(substr(rxrq,4,1)),这个如果是入学日期是20080301,而毕业是20120110就出现错误了
2012-11-28 14:56
快速回复:求助:如何实现两个字符型字段之间的加减法?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017924 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved