2013年12月31日

摘要: 有这样一条sql:select c_lx from t_table where n_id=1;查询结果为:1;2;3;4;5;6;有没有这样一个函数,将该记录以‘;’切分并转换为多行的结果集,如:123456注意:是结果集(6行),而不是一条纵向显示的记录。我知道oracle有wm_concat函数,可以将多条记录合并成一条,并以逗号分割。使用场景:如代码类型,控件保存时是以‘5;6;7;8;9;10;’的格式保存在一个字段里的,一般对应的代码名称都会冗余一列,如‘工人;农民;干部;’,但是很多地方并没有冗余,在展示的时候,翻译代码时便出现了麻烦,所以如果存在一个函数,将该代码值切分并以多条结 阅读全文
posted @ 2013-12-31 15:03 迷途@书童 阅读(643) 评论(0) 推荐(0)
摘要: 现在有这样一个需求,要求计算两个日期间的工作日天数,要求除去节假日,其中节假日有一张配置表,具体的格式如下:开始日期结束日期节假日类型节假日名称2013-08-10 2013-08-12 法定 端午节2013-01-012013-01-03 法定 元旦要求计算两个日期间的天数时要将周末时间去掉,还要将节假日区间的天数排除:select count(*) from (select to_date('2010-01-01', 'yyyy-mm-dd') + LEVEL - 1 as days from dual CONNECT BY to_date('2.. 阅读全文
posted @ 2013-12-31 11:29 迷途@书童 阅读(1518) 评论(0) 推荐(0)

导航