Sep 23, 2009

The best way to convert multiple rows to one column.

Hi Guys,

--the follow is the best way to convert multiple rows to one column.

select c1, MAX(SUBSTR(SYS_CONNECT_BY_PATH(c3, '|'), 2))
  from (SELECT c1,
               c3,
               c1 || ROW_NUMBER() OVER(PARTITION BY c1 ORDER BY c2) AS sn,
               c1 ||(ROW_NUMBER() OVER(PARTITION BY c1 ORDER BY c2)-1) AS sn2
          FROM (select b.run_id c1, a.name c2,b.answer_text c3
                  FROM siebel.s_cs_quest a JOIN siebel.s_cs_run_answr b ON a.ROW_ID = b.QUEST_ID
                 --and a.last_upd>date '2007-12-1'
                 where b.run_id in ('1-1AR0NCH','1-UMN9','1-11P8Q')
                 ORDER BY b.run_id, a.NAME
                 )
                 )
start with sn = c1 || 1
connect by prior sn = sn2
group by c1
;


Thanks
Xiangzhen

Sep 16, 2009

股经心得

1:顺势而为。重点在把握势的方向,拿不准则轻或清仓等待。

2:止损止盈。不轻易买一只股票,也不轻易卖一只股票。

3:利多不涨不做多,利空不跌不追空。

4:超买更超买,超卖更超卖。



Aug 15, 2009

旅行

有谁有过一周内有三个整天在路上?

 

周三上海火车到南昌,南昌汽车到县城修水,十八小时

夜宿县城,携两个妹妹,一个弟弟,兄妹四人一起漫着步,聊着天

大妹妹在北华大学念书,小妹妹在南昌的一所师院,弟弟高三

 

夏夜的县城很安静,清澈的修河绕城流过

宁红大桥上霓虹灯闪着蓝色的幽光,滨江大道天然的景色被造景师修剪得相当的别致

恍然间发觉多年离乡的自己,从未如此打量过家乡的美丽

 

谈到未来,虽然自己深知当下社会,好好学习和好工作、好生活是多么的毫不相干

却也只能是一再鼓励弟妹,好好学习,为了过上好生活

我知道,迷茫不只是属于现在的自己,也属于不久后的他们

 

不是说工人和农民的儿子一定没有出息

但是要取得成功,其中的艰辛只有他们自己知道

 

每个人的人生都是只属于自己的人生,迷茫也一样

 

经过一个小时汽车的颠簸,从县城到了镇上

全新的水泥路从镇上一直通到了村庄

 

爷爷奶奶老远就出来迎接我们了,爷爷八十三,奶奶也快八十了

还好身体算健朗,每次看见老人,总是良多感慨

作为长孙,老人一直期盼着抱曾孙子,爸爸妈妈也一直催促着要娶媳妇

我除了满口答应,还能说什么呢

想起火车上一个人女人感慨的,男人呀,有了事业就什么都有了

 

周日接通知,要赶往广州开会,临行还得收邮件并准备个报告

由于老家中没网络,得赶往县城同学家处理,来回甚是折腾

 

周一赶往南昌,先退了回上海的卧铺票

准备买到广州的机票时,郁闷的发现没带身份证

买南昌到广州的火车票时,更郁闷的发现没有卧铺了

 

坐了十三个小时的硬座到广州,急匆匆的打的赶到,总算没迟到

广州电信研究院的办公室远没有北京电信集团总部来得奢华

 

研讨会一直到晚上七点,晚餐是在潮州食府,吃了久违的砂锅粥

裕通酒店环境甚是不错,早餐也是相当美味,晚上赶报告到十二点亦不觉累

 

第二天会议到下午四点,火车是晚六点出发,广州东站

临行前在Starbucks里消遣了一阵,美式咖啡味道苦涩涩的,算是落款

 

Jul 21, 2009

Split a big xlsx file to several small files


Dim sFSO,sExcelApp,ExBook,NewBook,SourceSheet,NewSheet,oRange
Dim Parameters,fullfilepath,bookcount,sfile
SET Parameters = Wscript.arguments
Set sFSO = CreateObject("Scripting.FileSystemObject")
'If no command line arguments provided, quit
If Parameters.Count = 0 Then
WScript.Quit(1)
Else
fullfilepath = Parameters.item(0)
End If

If fullfilepath = "" or Not Right(fullfilepath,5) = ".xlsx" or Not sFSO.FileExists(fullfilepath) Then
Error=MsgBox("No valid input file provided. Stopping the script now.",vbokonly, "CK")
WScript.Quit(1)
End If

On Error Resume Next 'Resume Error
Set sExcelApp = CreateObject("Excel.Application") 'Create Excel instance
If Err.Number <> 0 Then 
Err.Clear
WScript.Quit(1)
End If

sExcelApp.Workbooks.Open (fullfilepath)
Set ExBook = sExcelApp.ActiveWorkbook
Set SourceSheet = ExBook.worksheets(1)
Set oRange = SourceSheet.Range(SourceSheet.Cells(1, 1), SourceSheet.Cells(1, 1)).CurrentRegion
nMaxRow = oRange.Rows.Count
nMaxCol = oRange.Columns.Count
bookcount=int(nMaxRow/50000)+1
'set RangeArray(0) = SourceSheet.Range(SourceSheet.Cells(1, 1), SourceSheet.Cells(1, nMaxCol))
sExcelApp.Application.DisplayAlerts = False
    For i = 1 To bookcount
if i=bookcount then 
LastRow=nMaxRow
else
LastRow=50000*i
end if
NewFullFileName=left(fullfilepath,len(fullfilepath)-5) & "_" & i & right(fullfilepath,5)
if sFSO.FileExists(NewFullFileName) then 
set sfile=sFSO.GetFile(NewFullFileName)
sfile.delete
end if

'set RangeArray(1) = SourceSheet.Range(SourceSheet.Cells(LastRow-50000+1, 1), SourceSheet.Cells(LastRow, nMaxCol)).Value
Set NewBook = sExcelApp.Workbooks.Add
Set NewSheet = NewBook.worksheets(1)
NewSheet.Range(NewSheet.Cells(1,1), NewSheet.Cells(1, nMaxCol)).value=SourceSheet.Range(SourceSheet.Cells(1, 1), SourceSheet.Cells(1, nMaxCol)).value
NewSheet.Range(NewSheet.Cells(LastRow-50000+1, 2), NewSheet.Cells(LastRow, nMaxCol))=SourceSheet.Range(SourceSheet.Cells(LastRow-50000+1, 1), SourceSheet.Cells(LastRow, nMaxCol)).Value
NewBook.SaveAs (NewFullFileName)
NewBook.Close True
Set NewBook = Nothing
set NewSheet=nothing
Next
ExBook.Close True
If Err.Number = 0 Then Set sfile = sFSO.CreateTextFile(left(fullfilepath,len(fullfilepath)-5) & ".swf", True)
'Wscript.Echo "err:" & Err.Number & left(fullfilepath,len(fullfilepath)-5) & ".swf.txt"
sExcelApp.Application.DisplayAlerts = True
    sExcelApp.Quit
Set sFSO=Nothing
Set sExcelApp=Nothing
set ExBook = Nothing
set sfile=nothing
'**********************************************************************************************************   

Jul 13, 2009

Oracle的Blob bug一例

MSN Chat:
2009-7-13  16:01:09  方蓉  周详珍  你好哦 
2009-7-13  16:01:39  周详珍  方蓉  你好呀~ 
2009-7-13  16:01:52  方蓉  周详珍  请教你个问题哦 
2009-7-13  16:01:57  方蓉  周详珍  :) 
2009-7-13  16:02:27  方蓉  周详珍  就是数据库中的2个实例下的各自的用户之间导数据,但是BLOB型的大数据导不进去 
2009-7-13  16:02:34  方蓉  周详珍  表也属于不同的表空间  
2009-7-13  16:02:44  方蓉  周详珍  这样一般会是什么问题呢? 
2009-7-13  16:10:15  周详珍  方蓉  你的数据库版本, 
2009-7-13  16:10:25  方蓉  周详珍  恩 好的  
2009-7-13  16:10:26  方蓉  周详珍  问问 
2009-7-13  16:10:29  方蓉  周详珍  我问问 
2009-7-13  16:11:25  周详珍  方蓉  你说的两个实例其实是在同一台主机上的两个Database,还是同一个Database下的两个Schema 
2009-7-13  16:11:27  周详珍  方蓉  ? 
2009-7-13  16:11:35  方蓉  周详珍  版本是一样的9.2 
2009-7-13  16:12:02  周详珍  方蓉  oracle9.2.0.1的有这个bug  
2009-7-13  16:12:18  周详珍  方蓉  你详细的版本号是多少? 
2009-7-13  16:13:03  方蓉  周详珍  恩  
2009-7-13  16:13:29  方蓉  周详珍  是我旁边的一个同事让我研究一下这个 
2009-7-13  16:13:36  方蓉  周详珍  我问问他 
2009-7-13  16:13:59  方蓉  周详珍  同一台主机上两个database 
2009-7-13  16:14:14  周详珍  方蓉  还有你是怎么导的?使用什么工具? 
2009-7-13  16:14:52  方蓉  周详珍  他用imp导的 
2009-7-13  16:17:24  周详珍  方蓉  imp/exp应该没有问题的,你搜索下看看Oracle的bug列表看看,貌似这个版本有个bug 
2009-7-13  16:18:43  方蓉  周详珍  恩 好的  
2009-7-13  16:18:51  方蓉  周详珍  我再导一下数据 
2009-7-13  16:18:57  方蓉  周详珍  看看报什么错 
2009-7-13  16:19:04  方蓉  周详珍  在我自己的电脑上实践下  
2009-7-13  16:19:27  方蓉  周详珍  一个数据库下,2个不同实例下的不同用户间导  
2009-7-13  16:19:54  周详珍  方蓉  EXP-00003? 
2009-7-13  16:20:27  周详珍  方蓉  请确认版本和服务器版本一致,不然测试不出来的 
2009-7-13  16:20:41  周详珍  方蓉  你自己电脑上的版本? 
2009-7-13  16:20:56  周详珍  方蓉  刚才这个问题确实是oracle的一个bug 
2009-7-13  16:21:02  方蓉  周详珍  恩 我看看】 
2009-7-13  16:21:20  方蓉  周详珍  恩 我的是 9.2.0.1.0 
2009-7-13  16:21:42  方蓉  周详珍  恩 我先试试 
2009-7-13  16:21:55  周详珍  方蓉  方法1:数据库升级方法2:更改$ORACLE_HOME/rdbms/admin/catexp.sql这个脚本,然后用sys帐号执行该脚本 
2009-7-13  16:21:57  方蓉  周详珍  那还有什么其他方法可以导 
2009-7-13  16:22:18  方蓉  周详珍  可以避免这个错误的? 
2009-7-13  16:22:19  周详珍  方蓉  脚本改成:
CREATE OR REPLACE VIEW exu9tne ( tsno, fileno, blockno, length) AS 
SELECT ts#, segfile#, segblock#, length 
FROM sys.uet$ WHERE ext# = 1   
UNION ALL 
SELECT * from sys.exu9tneb  
2009-7-13  16:22:30  周详珍  方蓉  就可以了。 
2009-7-13  16:22:38  方蓉  周详珍  恩 好的 
2009-7-13  16:22:59  方蓉  周详珍  这边的是装在WINDOWS 2003SERVER上的 
2009-7-13  16:23:24  方蓉  周详珍  好的  
2009-7-13  16:23:25  周详珍  方蓉  那就再对应路径上 
2009-7-13  16:23:28  方蓉  周详珍  我试试 
2009-7-13  16:23:34  方蓉  周详珍  恩 知道了哦  
2009-7-13  16:23:42  方蓉  周详珍  :D 谢谢哦~~~~  

Thanks
Xiangzhen