使用DB2时的一些问题
2007-09-11 21:27
218 查看
1.“||”的字符连接问题
在DB2中是用“||”连接字符串的,这点与别的语言和数据库是使用“+”有很大区别。在使用“||”时经常会出现“[IBM][CLI Driver][DB2/6000] SQL0440N 未找到类型为 "FUNCTION" 命名为 "||" 且具有兼容自变量的已授权例程。 SQLSTATE=42884”的错误,原因是有非字符类型参与了“||”运算,如有变量或字段出现在“||”的运算中,解决办法是把变量或字段传给char()函数再参与运算就OK了。下面举个例子:
select A.INF || '-' || A.IYF || '-01' from tableA A --会出错,INF年份,IYF月份
select char(A.INF) || '-' || char(A.IYF) || '-01' from tableA A --正确
2.时间比较问题
在DB2中不能使用DATEDIFF函数,或者说是我的不能用,那么怎么比较两个时间相差多少并返回以日、月或年等为时间单位的值呢?用timestampdiff()函数!例子:
select timestampdiff(64,char(timestamp(A.DCRAETETIME)- timestamp('2007-5-25-13.56.41'))) from tableA A
--其中64表示返回以月为单位的值
3.like后面不能跟字段
如这样写会出错:
select item1 from table1 where item2 like item3||'%'
如果仅仅是想写像上面那样的like,可以用left或substr函数:
select item1 from table1 where left(item2,length(item3))=item3
或
select item1 from table1 where substr(item2,1,length(item3))=item3
在DB2中是用“||”连接字符串的,这点与别的语言和数据库是使用“+”有很大区别。在使用“||”时经常会出现“[IBM][CLI Driver][DB2/6000] SQL0440N 未找到类型为 "FUNCTION" 命名为 "||" 且具有兼容自变量的已授权例程。 SQLSTATE=42884”的错误,原因是有非字符类型参与了“||”运算,如有变量或字段出现在“||”的运算中,解决办法是把变量或字段传给char()函数再参与运算就OK了。下面举个例子:
select A.INF || '-' || A.IYF || '-01' from tableA A --会出错,INF年份,IYF月份
select char(A.INF) || '-' || char(A.IYF) || '-01' from tableA A --正确
2.时间比较问题
在DB2中不能使用DATEDIFF函数,或者说是我的不能用,那么怎么比较两个时间相差多少并返回以日、月或年等为时间单位的值呢?用timestampdiff()函数!例子:
select timestampdiff(64,char(timestamp(A.DCRAETETIME)- timestamp('2007-5-25-13.56.41'))) from tableA A
--其中64表示返回以月为单位的值
3.like后面不能跟字段
如这样写会出错:
select item1 from table1 where item2 like item3||'%'
如果仅仅是想写像上面那样的like,可以用left或substr函数:
select item1 from table1 where left(item2,length(item3))=item3
或
select item1 from table1 where substr(item2,1,length(item3))=item3
相关文章推荐
- 使用DB2时的一些问题
- 使用DB2时的一些问题
- 自己遇到的有关Genymotion使用中遇到的一些问题及解决方式
- 在spring mvc项目中,使用@Aspect截取所有contoller中的exception,并且通过HttpServletResponse输出的一些问题
- 【Python专题】 使用Py3及Pycharm的一些小问题(仅个人问题记录)
- 使用cxf开发中碰到的一些问题
- Android使用Gradle构建的一些遇到的问题
- STC15W404AS单片机使用过程的一些问题发现
- Set容器使用指针的一些问题
- Jlink在使用的过程中的一些实用问题
- cordova + ionic 使用中碰到的一些问题
- 使用无线模块的一些问题的总汇
- 在eclipse下使用bootstrap引用的一些问题
- Informix 和shell脚本的交互 dbaccess使用前初始化的一些问题
- KVM虚拟机使用过程中遇到过的一些问题
- 使用composer安装laravel遇到的一些小问题
- SQL中一些不经意隐式类型转换或者函数使用导致索引失效问题
- 【Spring】queryForXXX()方法使用的一些细节问题
- 使用cmd运行java注意的一些问题
- 初次使用git遇见的一些问题