| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3909 人关注过本帖
标题:求助:如何实现两个字符型字段之间的加减法?
取消只看楼主 加入收藏
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
yilance
Rank: 1
等 级:新手上路
帖 子:117
专家分:4
注 册:2010-4-21
收藏
得分:0 
感谢楼上两位!
感谢!
2012-11-28 14:58
快速回复:求助:如何实现两个字符型字段之间的加减法?
数据加载中...
 
   



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

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