怎么查DB2数据库中,虽是varchar型的2个字段,但是实际存的是日期,俩个字段之间相差7天之内的数据。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么查DB2数据库中,虽是varchar型的2个字段,但是实际存的是日期,俩个字段之间相差7天之内的数据。相关的知识,希望对你有一定的参考价值。
db2数据库2个表T1、T2,分别有字段date1、date2,都为varchar型,存的数据例如:20121223。怎么查T1、T2表中date1与date2相差2天的数据呢?
把20121223 转换为2012-12-23 可以用dayofyear()求得一年中的第几天 然后差值为2where abs(dayofyear(concat(concat(concat(substr(date1,1,4),'-'),concat(substr(date1,5,2),'-')),substr(date1,7,2))) as week) - dayofyear(concat(concat(concat(substr(date2,1,4),'-'),concat(substr(date2,5,2),'-')),substr(date2,7,2))) )) =2 可以试试 参考技术A select * from (select date1 from T1) a,(select date2 from T2) b where abs(to_number(a.date1,'yyyymmdd')-to_number(b.date2,'L999999'))=2;
DB2 varchar 字符大小写?
【中文标题】DB2 varchar 字符大小写?【英文标题】:DB2 varchar characters casE? 【发布时间】:2015-11-16 16:48:57 【问题描述】:首先抱歉我想不出一个合适的标题,但无论如何我有一个标题为unit_id
的列,它是一个varchar。并且一些数据带有 3 个字符,但我需要它们在值前面有一个 0。
我正在考虑做一个case or if
,但我不知道怎么写。
回顾
数据以164
的形式出现,但我希望它以0164
的形式出现
提前谢谢你们!
【问题讨论】:
【参考方案1】:听起来您正在寻找LPAD function:
SELECT LPAD(unit_id,4,'0') FROM your_table
【讨论】:
以上是关于怎么查DB2数据库中,虽是varchar型的2个字段,但是实际存的是日期,俩个字段之间相差7天之内的数据。的主要内容,如果未能解决你的问题,请参考以下文章