有时候,总能碰上一些奇奇怪怪的问题,而这些问题大部分都是挖的“坑”,在项目里往往是一壑未平又现一坑……
在接手别人开发的一个功能块之后,发现没有什么异常,程序跑的很好,就没去细看,有问题再说呗,谁愿意去看别人写的代码阿!是吧?
不久问题就来了,系统换数据库(说老实话那点数据用什么数据库都不是问题,领导就喜欢用大的、强的,但到底多大多强,他才不管),由SQLServer换Oracle了,原来系统中的一个接口表(里面存放用户获得某服务的日期),其实系统中的很多接口表都这样设计的。接口嘛为了方便当年设计成使用varchar型来存日期,这样直接从友方传过来的文件存入表中,而对方使用的是Oracle,传过来的日期格式为“dd-MON-yyyy”,而当时系统中使用的日期格式是"yyyy-mm-dd" ,也不知道SQLServer中是否有直接转这两种类型的日期函数(感觉应该有,懒没去查),反正当年写那段存储过程的仁兄没用什么函数,而是使用substring在使用这个日期的时候先批量更新掉接口表里的日期为"yyyy-mm-dd",SQLServer里面数据类型的隐式转换使得拿这个字段当日期用一点问题都没有。
现在换Oracle了,这个字段用Varchar2来保存数据,还是直接拿友方的数据存入,原来的数据记录也直接用ETL工具导了过来,没有一点问题,也就是说这个字段里存了'dd-mon-yyyy'和‘yyyy-mm-dd’两种类型的日期,对于老的数据,只是放在接口表里,不用管,当对方更新该信息的时候自动更新该字段变成了‘dd-mon-yyyy’,要使用的时候使用to_date(xxx,'dd-mon-yyyy','NLS_DATE_LANGUAGE=AMERICAN'),也没问题,窃窃自喜啊,少写一行代码也高兴的
某日,有Boss放话了,要做统计,而且就是根据这个字段,本来说用Group BY应该没问题的,但是谁都知道'2008-5-13'跟‘13-may-2008’是同一天,没辙了,只能来更新啊,新老日期统一到'dd-mon-yyyy'上,怎么办?
先用replace(xxx,'-','')这样'yyyy-mm-dd'的就变成'yyyymmdd'就变成number了,而'yyyyMONdd'就不是了,然后使用函数
create or replace function isNumber(p_in varchar2) return INTEGER as
i number;
begin
i:=to_number(p_in);
return 1;
exception
when others then
return 0;
end ;
辅助判断isnumber(xxx)=1字段是否为number型,是的话更新该字段
xxx=to_char(to_date(xxx,'yyyymmdd'),'dd-MON-yyyy','NLS_DATE_LANGUAGE=AMERICAN')
不是则
xxx=substr(xxx,1,2)||'-'||substr(xxx,3,3)||'-'||substr(xxx,6,4)
当然,这里要先更新非NUMBER的,不然就会因为'dd-MON-yyyy'不是数据类型而出错了
更新完之后统计就没有问题了,统计来吧^_^
分享到:
相关推荐
挖坑形态是主力在打压股价,吸筹过程中形成的特殊图形,通常发生在股价经过一段时间的横盘整理后突然下探,然后迅速反弹回原先的横盘区间。 【描述】:描述中的“挖坑”是指股价图表上的一个技术形态,代表主力可能...
标题中的“小型挖坑机的设计”是一个典型的机械工程课题,主要关注的是机械设备...在阅读论文和分析图纸时,可以深入理解挖坑机的工作原理、性能优化和制造工艺,对于学习机械工程的学生来说,这是一个很好的实践案例。
平动保持机构由平行四边形机构构成,包括大臂、辅助连杆和三角辅助架,这一设计保证了在挖掘过程中,挖坑机构的稳定性,防止在操作过程中发生偏移。此外,小臂和第二辅助连杆的配合,进一步增强了工作过程中的稳定性...
本研究的主要内容是针对植树挖坑机钻头在进行作业过程中,纵向振动的数学建模和数值仿真。文中详细阐述了利用空间运动学、机械振动理论、弹性动力学原理等,建立了钻头的纵向振动模型,并通过数值计算方法进行了求解...
通达信专捉主力挖坑股选股公式.doc
本教程主要介绍的是一套捉主力挖坑的副图指标源码,旨在帮助投资者识别主力资金在市场中的“挖坑”行为,即主力在低位吸筹时制造的假象,以便在价格上涨时获得丰厚收益。 源码中的变量定义和计算方法如下: 1. VAR...
本教程主要讲解的是一个名为"主力挖坑选股指标"的公式源码,该指标旨在帮助用户识别主力资金在股价调整阶段的“挖坑”行为,以便抓住可能的买入机会。 首先,我们解析源码中的关键部分。`AA:=REF(CLOSE,1);` 这一行...
通达信主力挖坑指标是基于股票市场技术分析的一种自定义指标,主要用于识别主力资金在股票价格波动中的打压行为,以便投资者能及时捕捉到主力的动向,跟进行情。这个指标通过计算一定周期内的价差比例来评估市场的...
通达信指标公式源码 专捉“主力挖坑股”.doc
1. 高效挖坑:可移动挖坑机采用先进的动力系统和精确的控制系统,能在短时间内完成大量挖坑工作,显著提高工程进度。 2. 多地形适应:无论是在平坦的土地、山坡还是岩石地表,挖坑机都能通过调整工作头和动力输出,...
挖坑灌砂法是一种在施工现场常用的检测路基和路面材料压实度的方法,尤其适用于路基、基层、底基层以及砂石路面。此方法不适用于有大孔洞或大孔隙的填石路堤。该试验法主要通过测量挖出的土壤质量和灌入的砂的质量来...
捕捉主力拉升前挖坑指标通达信指标公式源码 本资源是一个技术指标公式源码,用于捕捉主力拉升前挖坑的指标。该指标使用了多种技术指标,包括移动平均线、相对强弱指标、布林带等,旨在捕捉股票或期货市场中的趋势...
【挖坑机设计要点】 本设计说明书主要围绕现代植树挖坑机的开发,特别是针对悬挂式挖坑机的传动和挖掘部分的改进。挖坑机是园林机械中的重要设备,对于植树造林、农田改良等工作具有重要作用。随着科技的发展,挖坑...
减速器在挖坑机中起着至关重要的作用,它能够将动力源的高速旋转转化为低速大扭矩,以适应挖坑作业的需要。设计过程中,作者可能考虑了减速器的承载能力、传动效率、结构紧凑性以及耐用性等方面,以确保在实际操作中...
挖坑机是一种专门用于快速、高效挖掘洞穴的机械设备,尤其在电力电杆的安装中,它能确保电杆基础坑的精准和快速开挖,提高施工效率,减少人力成本。在电子政务领域,这种设备的使用可以优化资源分配,提升公共服务...
减速器在小型林业挖坑机中起到降低转速、增大扭矩的作用,确保设备在挖掘土壤时有足够的力量和稳定性。 首先,我们来了解一下小型林业挖坑机的基本情况。这种设备主要用于植树造林、电线杆安装等场合,需要在各种...
小型挖坑机的设计考虑了便携性和灵活性,适合在狭小或复杂地形工作,同时降低了设备的重量和体积,便于运输和操作。 2. **动力系统**:挖坑机的动力源通常是内燃机或电动马达,需要根据工作环境和需求选择合适的...
V形反转和“挖坑掏坑”是股票市场中两种重要的技术分析形态,它们在投资策略和交易决策中扮演着重要角色。通达信是一款在中国非常流行的股票分析软件,提供了丰富的自定义指标公式功能,帮助投资者更好地理解市场...
在这款游戏中,“挖坑”是一种流行于中国的四人扑克牌玩法,通常需要玩家通过策略和技巧来赢得游戏。游戏的核心机制包括发牌、出牌、埋坑等步骤,玩家需要将手中的牌以特定规则出完,以达到胜利条件。 MFC在实现这...
它的多功能性和高效率使得在各种地形条件下都能快速完成挖坑任务。 7. 性能优势:与传统人工挖坑相比,此类设备具有速度快、精度高、劳动强度低等优点,显著提高了工程效率,降低了人力成本。 8. 安全考虑:在使用...