星期六, 九月 30, 2006

回家了

放假了,回家了,两手空空.

--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期五, 九月 29, 2006

发现一个好玩的网站


你只要在下面的网站注册一下,上传图片后,可以选择生成SO COOL的效果,赶紧试试吧
http://www.picturetrail.com

SQL server 与oracle 函数对比

出处:http://www.mikecat.net/blogview.asp?logID=1559

——–数学函数

  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual

  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual

  3.取整(小)
  S:select floor(-1.001) value
  O:select floor(-1.001) value from dual

  4.取整(截取)
  S:select cast(-1.002 as int) value
  O:select trunc(-1.002) value from dual

  5.四舍五入
  S:select round(1.23456,4) value 1.23460
  O:select round(1.23456,4) value from dual 1.2346

  6.e为底的幂
  S:select Exp(1) value 2.7182818284590451
  O:select Exp(1) value from dual 2.71828182

  7.取e为底的对数
  S:select log(2.7182818284590451) value 1
  O:select ln(2.7182818284590451) value from dual; 1

  8.取10为底对数
  S:select log10(10) value 1
  O:select log(10,10) value from dual; 1

  9.取平方
  S:select SQUARE(4) value 16
  O:select power(4,2) value from dual 16

  10.取平方根
  S:select SQRT(4) value 2
  O:select SQRT(4) value from dual 2

  11.求任意数为底的幂
  S:select power(3,4) value 81
  O:select power(3,4) value from dual 81

  12.取随机数
  S:select rand() value
  O:select sys.dbms_random.value(0,1) value from dual;

  13.取符号
  S:select sign(-8) value -1
  O:select sign(-8) value from dual -1
  ———-数学函数

  14.圆周率
  S:SELECT PI() value 3.1415926535897931
  O:不知道

  15.sin,cos,tan 参数都以弧度为单位
  例如:select sin(PI()/2) value 得到1(SQLServer)

  16.Asin,Acos,Atan,Atan2 返回弧度

  17.弧度角度互换(SQLServer,Oracle不知道)
  DEGREES:弧度-〉角度
  RADIANS:角度-〉弧度

  ———数值间比较

  18. 求集合最大值
  S:select max(value) value from
  (select 1 value
  union
  select -2 value
  union
  select 4 value
  union
  select 3 value)a

  O:select greatest(1,-2,4,3) value from dual

  19. 求集合最小值
  S:select min(value) value from
  (select 1 value
  union
  select -2 value
  union
  select 4 value
  union
  select 3 value)a

  O:select least(1,-2,4,3) value from dual

  20.如何处理null值(F2中的null以10代替)
  S:select F1,IsNull(F2,10) value from Tbl
  O:select F1,nvl(F2,10) value from Tbl

  ——–数值间比较

  21.求字符序号
  S:select ascii('a') value
  O:select ascii('a') value from dual

  22.从序号求字符
  S:select char(97) value
  O:select chr(97) value from dual

  23.连接
  S:select '11′+'22′+'33′ value
  O:select CONCAT('11′,'22′)||33 value from dual

  23.子串位置 –返回3
  S:select CHARINDEX('s','sdsq',2) value
  O:select INSTR('sdsq','s',2) value from dual

  23.模糊子串的位置 –返回2,参数去掉中间%则返回7
  S:select patindex('%d%q%','sdsfasdqe') value
  O:oracle没发现,但是instr可以通过第四霾问刂瞥鱿执问?BR>  select INSTR('sdsfasdqe','sd',1,2) value from dual 返回6

  24.求子串
  S:select substring('abcd',2,2) value
  O:select substr('abcd',2,2) value from dual

  25.子串代替 返回aijklmnef
  S:SELECT STUFF('abcdef', 2, 3, 'ijklmn') value
  O:SELECT Replace('abcdef', 'bcd', 'ijklmn') value from dual

  26.子串全部替换
  S:没发现
  O:select Translate('fasdbfasegas','fa','我' ) value from dual

  27.长度
  S:len,datalength
  O:length

  28.大小写转换 lower,upper

  29.单词首字母大写
  S:没发现
  O:select INITCAP('abcd dsaf df') value from dual

  30.左补空格(LPAD的第一个参数为空格则同space函数)
  S:select space(10)+'abcd' value
  O:select LPAD('abcd',14) value from dual

  31.右补空格(RPAD的第一个参数为空格则同space函数)
  S:select 'abcd'+space(10) value
  O:select RPAD('abcd',14) value from dual

  32.删除空格
  S:ltrim,rtrim
  O:ltrim,rtrim,trim

  33. 重复字符串
  S:select REPLICATE('abcd',2) value
  O:没发现

  34.发音相似性比较(这两个单词返回值一样,发音相同)
  S:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe')
  O:SELECT SOUNDEX ('Smith'), SOUNDEX ('Smythe') from dual
  SQLServer中用SELECT DIFFERENCE('Smithers', 'Smythers') 比较soundex的差
  返回0-4,4为同音,1最高

  ————–日期函数

  35.系统时间
  S:select getdate() value
  O:select sysdate value from dual

  36.前后几日
  直接与整数相加减

  37.求日期
  S:select convert(char(10),getdate(),20) value
  O:select trunc(sysdate) value from dual
  select to_char(sysdate,'yyyy-mm-dd') value from dual

  38.求时间
  S:select convert(char(8),getdate(),108) value
  O:select to_char(sysdate,'hh24:mm:ss') value from dual

  39.取日期时间的其他部分
  S:DATEPART 和 DATENAME 函数 (第一个参数决定)
  O:to_char函数 第二个参数决定

  参数———————————下表需要补充
  year yy, yyyy
  quarter qq, q (季度)
  month mm, m (m O无效)
  dayofyear dy, y (O表星期)
  day dd, d (d O无效)
  week wk, ww (wk O无效)
  weekday dw (O不清楚)
  Hour hh,hh12,hh24 (hh12,hh24 S无效)
  minute mi, n (n O无效)
  second ss, s (s O无效)
  millisecond ms (O无效)
  ———————————————-

  40.当月最后一天
  S:不知道
  O:select LAST_DAY(sysdate) value from dual

  41.本星期的某一天(比如星期日)
  S:不知道
  O:SELECT Next_day(sysdate,7) vaule FROM DUAL;

  42.字符串转时间
  S:可以直接转或者select cast('2004-09-08′as datetime) value
  O:SELECT To_date('2004-01-05 22:09:38′,'yyyy-mm-dd hh24-mi-ss') vaule FROM DUAL;

  43.求两日期某一部分的差(比如秒)
  S:select datediff(ss,getdate(),getdate()+12.3) value
  O:直接用两个日期相减(比如d1-d2=12.3)
  SELECT (d1-d2)*24*60*60 vaule FROM DUAL;

  44.根据差值求新的日期(比如分钟)
  S:select dateadd(mi,8,getdate()) value
  O:SELECT sysdate+8/60/24 vaule FROM DUAL;

  45.求不同时区时间
  S:不知道
  O:SELECT New_time(sysdate,'ydt','gmt' ) vaule FROM DUAL;

  —–时区参数,北京在东8区应该是Ydt——-
  AST ADT 大西洋标准时间
  BST BDT 白令海标准时间
  CST CDT 中部标准时间
  EST EDT 东部标准时间
  GMT 格林尼治标准时间
  HST HDT 阿拉斯加—夏威夷标准时间
  MST MDT 山区标准时间
  NST 纽芬兰标准时间
  PST PDT 太平洋标准时间
  YST YDT YUKON标准时间


--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期四, 九月 28, 2006

号外号外

小zz闺女昨天出来了,大家鼓掌欢迎!

--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期二, 九月 26, 2006

免费的“星际译王”出了在线版本

星际译王是一款非常不错的软件,多用于linux系统,可以自己添加词典,现在它推出了web版本,简单注册后,可以选择添加5个词典,再多好像就不free了。
自己动手写了个程序,用了它的接口,演示地址如下:
http://www.itmayi.com/eg/word.htm

--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期日, 九月 24, 2006

菊花台

你的泪光 柔弱中带伤
苍白的月弯弯勾出过往
夜太漫长 凝结成了霜
是谁在阁楼上冰冷的绝望
雨轻轻弹 朱红色的床
我已身在之上被风吹乱
梦在远方 化成一缕纱
随风飘散你的模样

菊花散满地上 你的笑容已泛黄
花落人断肠 我心事静静躺
北风乱夜未央 你的影子剪不断
徒留我孤单 在湖面生霜

花已香完 飘落了灿烂
凋谢的石道上泥泞不堪
守末渡江 秋行拆两半
怕你上不了岸一辈子摇晃
谁的江山 马蹄声狂乱
我一身的戎装胡萧沧桑
天微微亮 你轻声的叹
一夜惆怅如此委婉

菊花散满地上 你的笑容已泛黄
花落人断肠 我心事静静躺
北风乱夜未央 你的影子剪不断
徒留我孤单 在湖面生霜

菊花散满地上 你的笑容已泛黄
花落人断肠 我心事静静躺
北风乱夜未央 你的影子剪不断
徒留我孤单 在湖面生霜


--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期一, 九月 18, 2006

[转]用一生等待一个约定

小的时候,明亮温暖的下午,她会站在他家的窗下,高声喊着他的名字。然后他会从窗口探出小小的脑袋来回答她:"等一下,3分钟!"
  但她通常会等5分钟以上,因为他会躲在窗帘后面,看着她在开满花的树下一朵一朵的数着树上的梨花。当他看到分不清哪个是花,哪个是她的时候,才会慢吞吞的下楼去。她看到他,会说,你又迟到了。然后,他们就开始玩办家家,她是妈妈,他是爸爸,却没有孩子。
  她把掉下来的花瓣撕成细细的条,给自己的小丈夫作菜吃。
  上中学的时候,她和他约定每天早晨7:00在巷口的早餐铺见面。她总是很准时的坐在最里边的位置,叫来两根油条。7:10分以后,他拖着黑色的书包出现在有些寒冷的阳光里。懒散的表情。脸上有时隐隐可见没擦干净的牙膏沫。她看到他,会说,你又迟到了。然后他坐下来开始吃早餐。她把他脏脏的书包放在自己的腿上。
  她把粗大的油条撕成细细的条,给他配着热腾腾的豆浆喝。
  高中毕业典礼那一天,他们去了一家婚纱店。她指着一套婚纱对他说,她好喜欢那套婚纱。他看那套婚纱,它不是白色,而是深蓝色的。蓝得有些诡异,有些忧郁,就像新娘一个人站在教堂里,月光掉在她如花的脸上时,眼中落下的一滴泪。
  然后他轻声告诉她:"等你嫁给我的那一天,我把它买给你。"
  大学他们分居两地,当她打电话询问他的信什么时候会到的,他常常回答她大概3天以后。而她接到信的时候,已经过了7天。于是她会在回信里包上新鲜的玫瑰花瓣,然后写道,你又迟到了。
  她把日记撕成细细的条,夹在信里寄过去。她想如果他细心的把那些碎条拼起来,就可以读到她在深夜对他的思念。
  毕业以后,他们有了各自的工作。有一天他说要来看她,于是朴素的她第一次化了妆,匆匆赶去车站。她看着空荡荡的铁道,觉得那是些寂寞的钢轨,当火车从它身上走过,它会发出绝望的哭声。
  火车比预定时间晚了一个小时。她看到他变的比以往更加英俊,只是眼中少了一分懒散。接着她又看到他的身边有一个笑颜如花的女子,他介绍那是他的未婚妻。
  她只是说了一句,你又迟到了。
  那天晚上,她把他写过的信撕成了细细的条,让一团温柔的火苗轻轻舔拭着它们的身躯。他结婚那天,也邀请了她。她看到新娘是如此的美丽,穿着一套洁白的婚纱。那婚纱白得十分刺目,像是在讥讽她的等待。没有人发觉她在晕眩。
  第二天她就搬去了一个小城市,没有人知道她在哪里,她决心要从这个世界里蒸发,从他的生活里蒸发。

  他像大多数都市里小有成就的男人一样,经历了事业上的成功,失败,离婚,再婚,再离婚,再结婚,丧妻。在他的生命里路过了许许多多的女人,她们有些爱他,有些被他爱,有些伤害了他,有些被他深深的伤害。匆匆而来,又匆匆而去。当他恍惚记起曾经那个站在开满鲜花的树下一朵一朵数梨花的小女孩时,自己已经是七旬的老人了。
  他寻访到了她的讯息,他认为自己应该带一点见面礼给她。后来,有人告诉他,她一直都没有结婚,她似乎在等待一个约定,只是这个约定的期限不知是在何时。于是,他知道自己该买些什么了。
  他花了很长时间去寻找一件深蓝色的婚纱,他的确找到了很多件,只是没有一件像当年那套一样,有着孤独新娘在月光下的第一滴眼泪感觉的深蓝色婚纱。终于,他从香港一位收集了很多套婚纱的太太手里买下了那样一件婚纱。
  那位太太听过他们之间的故事后坚持不收钱,但他,还是付给了太太55元钱,那刚好是他们结下等她嫁给他他会买这套婚纱送她的约定之时,直到现在已经有55年。
  他带着那套深蓝色的婚纱,匆忙赶到医院。他从不知道自己70多岁的身体居然可以跑的这样快。但是时间是最作弄人的东西,在他怀抱那堆深蓝色的轻纱踏进病房的那一刻,她停止了呼吸。
  他觉得这一幕是那么似曾相识,只不过不同的是,她不能再对他说一句,你又迟到了。
  她一直都在等待约定的期限,尽管他总是迟到。
  但她从没想过,那最后一个约定的期限,就是她一生的时间

--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期日, 九月 17, 2006

9.18

今天是9.18纪念日,大家勿忘国耻,为了祖国的繁荣昌盛,为了四个现代化的早日实现,好好学习,天天向上.
PS:
我在电梯里遇到了日本人.

--

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期三, 九月 13, 2006

UCS2编码与解码函数,PHP写的

UCS2编码:

UCS2 编码原理,是将单个的字符(1-2 个字节)ISO/IEC10646 的规定,转变为16 Unicode 宽字符。即将单个的字符转换为由四位的'0 '-'9'、'A '-'F'的数字和字 母组成的字符串。待发送的消息以UCS 2 的形式进行发送。

SRC_STR:'ABC1230编码函数 '

DEST_STR:' 00410042004300310032003300307F16780151FD6570'


/**
 *  UCS2解码函数,返回GBK
 */
function UCS2toGB ($msg)
{
    $result = "";
    for ($i=0; $i<strlen($msg); $i+=4)
    {
        $ch1 = substr($msg,$i,2);
        $ch2 = substr($msg,$i+2,2);
        $result .= chr(HexDec($ch2)).chr(HexDec($ch1));
    }
    $result = chr(HexDec("ff")).chr(HexDec("fe")).$result;
    $result = iconv("UTF-16","GBK",$result);
    return $result;
}
/**
 * UCS2编码函数
 */
function GBtoUCS2 ($msg)
{
    $result    = "";
    $msg    = iconv("GBK","UTF-16",$msg);
    for ($i=2; $i<strlen($msg); $i+=2)
    {
        $ch1 = dechex(ord($msg[$i]));
        $ch2 = dechex(ord($msg[$i+1]));
        $ch1 = (strlen($ch1) < 2 ? "0" : "").$ch1;
        $ch2 = (strlen($ch2) < 2 ? "0" : "").$ch2;
        $result    .= $ch2.$ch1;   
    }
    return $result;
}

--
by 无际海

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

冒险岛





新版父与子





星期一, 九月 11, 2006

Oracle函数列表速查

PL/SQL单行函数和组函数详解
 函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:


   单行函数


   组函数


  本文将讨论如何利用单行函数以及使用规则。


  SQL中的单行函数


  SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转换、和混合型等多种函数用于处理单 行数据,因此这些都可被统称为单行函数。这些函数均可用于SELECT,WHERE、ORDER BY等子句中,例如下面的例子中就包含了TO_CHAR,UPPER,SOUNDEX等单行函数。
SELECT ename,TO_CHAR(hiredate,''day,DD-Mon-YYYY'')FROM empWhere UPPER(ename) Like ''AL%''ORDER BY SOUNDEX(ename)


  单行函数也可以在其他语句中使用,如update的SET子句,INSERT的VALUES子句,DELET的WHERE子句,认证考试特别注意在SELECT语句中使用这些函数,所以我们的注意力也集中在SELECT语句中。


  NULL和单行函数


  在如何理解NULL上开始是很困难的,就算是一个很有经验的人依然对此感到困惑。NULL值表示一个未 知数据或者一个空值,算术操作符的任何一个操作数为NULL值,结果均为提个NULL值,这个规则也适合很多函数,只有CONCAT,DECODE, DUMP,NVL,REPLACE在调用了NULL参数时能够返回非NULL值。在这些中NVL函数时最重要的,因为他能直接处理NULL值,NVL有两 个参数:NVL(x1,x2),x1和x2都式表达式,当x1为null时返回X2,否则返回x1。


  下面我们看看emp数据表它包含了薪水、奖金两项,需要计算总的补偿
column name emp_id salary bonuskey type pk nulls/unique nn,u nnfk table datatype number number numberlength 11.2 11.2


  不是简单的将薪水和奖金加起来就可以了,如果某一行是null值那么结果就将是null,比如下面的例子:
update empset salary=(salary+bonus)*1.1


  这个语句中,雇员的工资和奖金都将更新为一个新的值,但是如果没有奖金,即 salary + null,那么就会得出错误的结论,这个时候就要使用nvl函数来排除null值的影响。
所以正确的语句是:
update empset salary=(salary+nvl(bonus,0)*1.1
单行字符串函数


  单行字符串函数用于操作字符串数据,他们大多数有一个或多个参数,其中绝大多数返回字符串


  ASCII()
  c1是一字符串,返回c1第一个字母的ASCII码,他的逆函数是CHR()
SELECT ASCII(''A'') BIG_A,ASCII(''z'') BIG_z FROM empBIG_A BIG_z65 122


  CHR(<i>)[NCHAR_CS]
  i是一个数字,函数返回十进制表示的字符
select CHR(65),CHR(122),CHR(223) FROM empCHR65 CHR122 CHR223A z B


  CONCAT(,)
  c1,c2均为字符串,函数将c2连接到c1的后面,如果c1为null,将返回c2.如果c2为null,则返回c1,如果c1、c2都为null,则返回null。他和操作符||返回的结果相同
select concat(''slobo '',''Svoboda'') username from dualusernameslobo Syoboda


  INITCAP()
  c1为一字符串。函数将每个单词的第一个字母大写其它字母小写返回。单词由空格,控制字符,标点符号限制。
select INITCAP(''veni,vedi,vici'') Ceasar from dualCeasarVeni,Vedi,Vici


  INSTR(,[,<i>[,]])
  c1,c2均为字符串,i,j为整数。函数返回c2在c1中第j次出现的位置,搜索从c1的第i个字符开始。当没有发现需要的字符时返回0,如果i为负数,那么搜索将从右到左进行,但是位置的计算还是从左到右,i和j的缺省值为1.
select INSTR(''Mississippi'',''i'',3,3) from dualINSTR(''MISSISSIPPI'',''I'',3,3)11select INSTR(''Mississippi'',''i'',-2,3) from dualINSTR(''MISSISSIPPI'',''I'',3,3)2


  INSTRB(,[,i[,j])
  与INSTR()函数一样,只是他返回的是字节,对于单字节INSTRB()等于INSTR()


  LENGTH()
  c1为字符串,返回c1的长度,如果c1为null,那么将返回null值。
select LENGTH(''Ipso Facto'') ergo from dualergo10


  LENGTHb()
  与LENGTH()一样,返回字节.


  lower()
  返回c的小写字符,经常出现在where子串中
select LOWER(colorname) from itemdetail WHERE LOWER(colorname) LIKE ''%white%''COLORNAMEWinterwhite


  LPAD(,<i>[,])
  c1,c2均为字符串,i为整数。在c1的左侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,参见RPAD。
select LPAD(answer,7,'''') padded,answer unpadded from question;PADDED UNPADDED Yes YesNO NOMaybe maybe


  LTRIM(,)
  把c1中最左边的字符去掉,使其第一个字符不在c2中,如果没有c2,那么c1就不会改变。
select LTRIM(''Mississippi'',''Mis'') from dualLTRppi


  RPAD(,<i>[,])
  在c1的右侧用c2字符串补足致长度i,可多次重复,如果i小于c1的长度,那么只返回i那么长的c1字符,其他的将被截去。c2的缺省值为单空格,其他与LPAD相似


  RTRIM(,)
  把c1中最右边的字符去掉,使其第后一个字符不在c2中,如果没有c2,那么c1就不会改变。


  REPLACE(,[,])
  c1,c2,c3都是字符串,函数用c3代替出现在c1中的c2后返回。
select REPLACE(''uptown'',''up'',''down'') from dualREPLACEdowntown


  STBSTR(,<i>[,])
  c1为一字符串,i,j为整数,从c1的第i位开始返回长度为j的子字符串,如果j为空,则直到串的尾部。
select SUBSTR(''Message'',1,4) from dualSUBSMess


  SUBSTRB(,<i>[,])
  与SUBSTR大致相同,只是I,J是以字节计算。


  SOUNDEX()
  返回与c1发音相似的词
select SOUNDEX(''dawes'') Dawes SOUNDEX(''daws'') Daws, SOUNDEX(''dawson'') from dualDawes Daws DawsonD200 D200 D250


  TRANSLATE(,,)
  将c1中与c2相同的字符以c3代替
select TRANSLATE(''fumble'',''uf'',''ar'') test from dualTEXTramble


  TRIM([[]] from c3)
  将c3串中的第一个,最后一个,或者都删除。
select TRIM('' space padded '') trim from dual TRIMspace padded


  UPPER()
  返回c1的大写,常出现where子串中
select name from dual where UPPER(name) LIKE ''KI%''NAMEKING
单行数字函数


  单行数字函数操作数字数据,执行数学和算术运算。所有函数都有数字参数并返回数字值。所有三角函数的操作数和值都是弧度而不是角度,oracle没有提供内建的弧度和角度的转换函数。


  ABS()
  返回n的绝对值


  ACOS()
  反余玄函数,返回-1到1之间的数。n表示弧度
select ACOS(-1) pi,ACOS(1) ZERO FROM dualPI ZERO3.14159265 0


  ASIN()
  反正玄函数,返回-1到1,n表示弧度


  ATAN()
  反正切函数,返回n的反正切值,n表示弧度。


  CEIL()
  返回大于或等于n的最小整数。


  COS()
  返回n的余玄值,n为弧度


  COSH()
  返回n的双曲余玄值,n 为数字。
select COSH(<1.4>) FROM dualCOSH(1.4)2.15089847


  EXP()
  返回e的n次幂,e=2.71828183.


  FLOOR()
  返回小于等于N的最大整数。


  LN()
  返回N的自然对数,N必须大于0


  LOG(,)
  返回以n1为底n2的对数


  MOD()
  返回n1除以n2的余数,


  POWER(,)
  返回n1的n2次方


  ROUND(,)
  返回舍入小数点右边n2位的n1的值,n2的缺省值为0,这回将小数点最接近的整数,如果n2为负数就舍入到小数点左边相应的位上,n2必须是整数。
select ROUND(12345,-2),ROUND(12345.54321,2) FROM dualROUND(12345,-2) ROUND(12345.54321,2)12300 12345.54


  SIGN()
  如果n为负数,返回-1,如果n为正数,返回1,如果n=0返回0.


  SIN()
  返回n的正玄值,n为弧度。


  SINH()
  返回n的双曲正玄值,n为弧度。


  SQRT()
  返回n的平方根,n为弧度


  TAN()
  返回n的正切值,n为弧度


  TANH()
  返回n的双曲正切值,n为弧度


  TRUNC(,)
  返回截尾到n2位小数的n1的值,n2缺省设置为0,当n2为缺省设置时会将n1截尾为整数,如果n2为负值,就截尾在小数点左边相应的位上。




单行日期函数


  单行日期函数操作DATA数据类型,绝大多数都有DATA数据类型的参数,绝大多数返回的也是DATA数据类型的值。


  ADD_MONTHS(,<i>)
  返回日期d加上i个月后的结果。i可以使任意整数。如果i是一个小数,那么数据库将隐式的他转换成整数,将会截去小数点后面的部分。


  LAST_DAY()
  函数返回包含日期d的月份的最后一天


  MONTHS_BETWEEN(,)
  返回d1和d2之间月的数目,如果d1和d2的日的日期都相同,或者都使该月的最后一天,那么将返回一个整数,否则会返回的结果将包含一个分数。


  NEW_TIME(,,)
  d1是一个日期数据类型,当时区tz1中的日期和时间是d时,返回时区tz2中的日期和时间。tz1和tz2时字符串。


  NEXT_DAY(,)
  返回日期d后由dow给出的条件的第一天,dow使用当前会话中给出的语言指定了一周中的某一天,返回的时间分量与d的时间分量相同。
select NEXT_DAY(''01-Jan-2000'',''Monday'') "1st Monday",NEXT_DAY(''01-Nov-2004'',''Tuesday'')+7 "2nd Tuesday") from dual;1st Monday 2nd Tuesday03-Jan-2000 09-Nov-2004


  ROUND([,])
  将日期d按照fmt指定的格式舍入,fmt为字符串。


  SYADATE
  函数没有参数,返回当前日期和时间。


  TRUNC([,])
  返回由fmt指定的单位的日期d.
单行转换函数


  单行转换函数用于操作多数据类型,在数据类型之间进行转换。


  CHARTORWID()
  c 使一个字符串,函数将c转换为RWID数据类型。
SELECT test_id from test_case where rowid=CHARTORWID(''AAAA0SAACAAAALiAAA'')


  CONVERT(,[,])
  c尾字符串,dset、sset是两个字符集,函数将字符串c由sset字符集转换为dset字符集,sset的缺省设置为数据库的字符集。


  HEXTORAW()
  x为16进制的字符串,函数将16进制的x转换为RAW数据类型。


  RAWTOHEX()
  x是RAW数据类型字符串,函数将RAW数据类转换为16进制的数据类型。


  ROWIDTOCHAR()
  函数将ROWID数据类型转换为CHAR数据类型。


  TO_CHAR([[,)
  x是一个data或number数据类型,函数将x转换成fmt 指定格式的char数据类型,如果x为日期nlsparm=NLS_DATE_LANGUAGE 控制返回的月份和日份所使用的语言。如果x为数字nlsparm=NLS_NUMERIC_CHARACTERS 用来指定小数位和千分位的分隔符,以及货币符号。
NLS_NUMERIC_CHARACTERS ="dg", NLS_CURRENCY="string"


  TO_DATE([,[,)
  c表示字符串,fmt表示一种特殊格式的字符串。返回按照fmt格式显示的c,nlsparm表示使用的语言。函数将字符串c转换成date数据类型。


  TO_MULTI_BYTE()
  c表示一个字符串,函数将c的担子截字符转换成多字节字符。


  TO_NUMBER([,[,)
  c表示字符串,fmt表示一个特殊格式的字符串,函数返回值按照fmt指定的格式显示。nlsparm表示语言,函数将返回c代表的数字。


  TO_SINGLE_BYTE()
  将字符串c中得多字节字符转化成等价的单字节字符。该函数仅当数据库字符集同时包含单字节和多字节字符时才使用


  其它单行函数


  BFILENAME(
,)
  dir是一个directory类型的对象,file为一文件名。函数返回一个空的BFILE位置值指示符,函数用于初始化BFILE变量或者是BFILE列。


  DECODE(,,[,,,[])
  x是一个表达式,m1是一个匹配表达式,x与m1比较,如果m1等于x,那么返回r1,否则,x与m2比较,依次类推m3,m4,m5....直到有返回结果。


  DUMP(,[,[,[,]]])
  x是一个表达式或字符,fmt表示8进制、10进制、16进制、或则单字符。函数返回包含了有关x的内部表示信息的VARCHAR2类型的值。如果指定了n1,n2那么从n1开始的长度为n2的字节将被返回。


  EMPTY_BLOB()
  该函数没有参数,函数返回 一个空的BLOB位置指示符。函数用于初始化一个BLOB变量或BLOB列。


  EMPTY_CLOB()
  该函数没有参数,函数返回 一个空的CLOB位置指示符。函数用于初始化一个CLOB变量或CLOB列。


  GREATEST()
  exp_list是一列表达式,返回其中最大的表达式,每个表达式都被隐含的转换第一个表达式的数据类型,如果第一个表达式是字符串数据类型中的任何一个,那么返回的结果是varchar2数据类型,同时使用的比较是非填充空格类型的比较。


  LEAST()
  exp_list是一列表达式,返回其中最小的表达式,每个表达式都被隐含的转换第一个表达式的数据类型,如果第一个表达式是字符串数据类型中的任何一个,将返回的结果是varchar2数据类型,同时使用的比较是非填充空格类型的比较。


  UID
  该函数没有参数,返回唯一标示当前数据库用户的整数。


  USER
  返回当前用户的用户名


  USERENV()
  基于opt返回包含当前会话信息。opt的可选值为:


  ISDBA    会话中SYSDBA脚色响应,返回TRUE
  SESSIONID  返回审计会话标示符
  ENTRYID   返回可用的审计项标示符
  INSTANCE  在会话连接后,返回实例标示符。该值只用于运行Parallel 服务器并且有 多个实例的情况下使用。
  LANGUAGE  返回语言、地域、数据库设置的字符集。
  LANG    返回语言名称的ISO缩写。
  TERMINAL  为当前会话使用的终端或计算机返回操作系统的标示符。


  VSIZE()
  x是一个表达式。返回x内部表示的字节数。
SQL中的组函数


  组函数也叫集合函数,返回基于多个行的单一结果,行的准确数量无法确定,除非查询被执行并且所有的结果都被包含在内。与单行函数不同的是,在解析时所有的行都是已知的。由于这种差别使组函数与单行函数有在要求和行为上有微小的差异.


  组(多行)函数


  与单行函数相比,oracle提供了丰富的基于组的,多行的函数。这些函数可以在select或select的having子句中使用,当用于select子串时常常都和GROUP BY一起使用。


  AVG([{DISYINCT|ALL}])
  返回数值的平均值。缺省设置为ALL.
SELECT AVG(sal),AVG(ALL sal),AVG(DISTINCT sal) FROM scott.empAVG(SAL) AVG(ALL SAL) AVG(DISTINCT SAL)1877.94118 1877.94118 1916.071413


  COUNT({*|DISTINCT|ALL} )
  返回查询中行的数目,缺省设置是ALL,*表示返回所有的行。


  MAX([{DISTINCT|ALL}])
  返回选择列表项目的最大值,如果x是字符串数据类型,他返回一个VARCHAR2数据类型,如果X是一个DATA数据类型,返回一个日期,如果X是numeric数据类型,返回一个数字。注意distinct和all不起作用,应为最大值与这两种设置是相同的。


  MIN([{DISTINCT|ALL}])
  返回选择列表项目的最小值。


  STDDEV([{DISTINCT|ALL}])
  返回选者的列表项目的标准差,所谓标准差是方差的平方根。


  SUM([{DISTINCT|ALL}])
  返回选择列表项目的数值的总和。


  VARIANCE([{DISTINCT|ALL}])
  返回选择列表项目的统计方差。


  用GROUP BY给数据分组


  正如题目暗示的那样组函数就是操作那些已经分好组的数据,我们告诉数据库用GROUP BY怎样给数据分组或者分类,当我们在SELECT语句的SELECT子句中使用组函数时,我们必须把为分组或非常数列放置在GROUP BY子句中,如果没有用group by进行专门处理,那么缺省的分类是将整个结果设为一类。
select stat,counter(*) zip_count from zip_codes GROUP BY state;ST ZIP_COUNT-- ---------AK 360AL 1212AR 1309AZ 768CA 3982


  在这个例子中,我们用state字段分类;如果我们要将结果按照zip_codes排序,可以用ORDER BY语句,ORDER BY子句可以使用列或组函数。
select stat,counter(*) zip_count from zip_codes GROUP BY state ORDER BY COUNT(*) DESC;ST COUNT(*)-- --------NY 4312PA 4297TX 4123CA 3982


  用HAVING子句限制分组数据


  现在你已经知道了在查询的SELECT语句和ORDER BY子句中使用主函数,组函数只能用于两个子串中,组函数不能用于WHERE子串中,例如下面的查询是错误的:
错 误SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept=''OUTSIDE'' AND SUM(sale_amount)>10000 GROUP BY sales_clerk


  这个语句中数据库不知道SUM()是什么,当我们需要指示数据库对行分组,然后限制分组后的行的输出时,正确的方法是使用HAVING语句:
SELECT sales_clerk,SUN(sale_amount) FROM gross_sales WHERE sales_dept=''OUTSIDE'' GROUP BY sales_clerkHAVING SUM(sale_amount)>10000;


  嵌套函数


  函数可以嵌套。一个函数的输出可以是另一个函数的输入。操作数有一个可继承的执行过程。但函数的优先权只是基于位置,函数遵循由内到外,由左到右的原则。嵌套技术一般用于象DECODE这样的能被用于逻辑判断语句IF....THEN...ELSE的函数。


  嵌套函数可以包括在组函数中嵌套单行函数,或者组函数嵌套入单行函数或组函数中。比如下面的例子:
SELECT deptno, GREATEST(COUNT(DISTINCT job),COUNT(DISTINCT mgr) cnt,COUNT(DISTINCT job) jobs,COUNT(DISTINCT mgr) mgrsFROM empGROUP BY deptno;DEPTNO CNT JOBS MGRS------ --- ---- ----10 4 4 220 4 3 430 3 3 2



--
by 无际海

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期四, 九月 07, 2006

中国男足总是输的原因

中国男足为什么总是输?其实翻翻报纸杂志就知道有太多原因了,综合为大家摘要如下,希望大家理解中国男足:
    (1)草皮不适应
    1、草皮太硬了 2、草皮太软了 3、不适应阔叶草及其它一些草
    (2)天气原因
    1、下雪 2、下雨 3、下冰雹 4、阳光太好了 5、冷 6、热 7、不冷不热(不能给对手造成麻烦)
    
    (3)赛场因素
    1、场内因素:A、裁判帮他们 B、裁判不帮我们 C、对手身体太强壮 D、对手技术太细腻 E、门柱帮了他们 F、对方守门员发挥BT+超常 G、补时太短 H、补时太长
    2、场外因素:A、客场作战,气氛影响 B、主场作战,干扰太大 C、观众不为我们喝彩 D、有人往场内扔手雷
    
    (4)抽签抽得不好
    1、同组都是强队踢输了,我拷死亡之组,按惯例当然应该中国队输。
    2、同组都是中等水平队踢输了,主要是想赢怕输的思想包袱太重了,队员们没能放得开手脚。
    3、同组都是弱队踢输了,对对手不够重视,麻痹大意,一时疏忽。
    
    (5)
    1、对亚洲强队踢输了,恐X心理在作怪,走不出阴影。
    2、对亚洲弱队踢输了,对手进步太大了,太大了,我们对他们没有秘密可言了都。
    3、对欧洲弱队踢输了,中国队输给了欧洲队。
    4、对欧洲强队(比如意大利队)0:1踢输了,告诉大家一个好消息:中国队仅以0:1输给了强大的意大利队!!
    5、对欧洲强队(比如意大利队)0:10踢输了,中国队踢出了自已的一惯水平,队员们也努力了,结果也不出全国人民所料。
    6、对欧洲强队(比如意大利队)0:100踢输了,精彩的比赛!意大利某球星进了20个,某球星进了25个!看来中国队跟意大利队的水平差距确实是有一点的。
    
    (6)
    "海龟派"没回来踢输了,我们雪藏主力。
    "海龟派"回来踢输了,时差没倒过来。
    
    (7)
    1、主教练技术差!
    2、中国球迷素质差!
    3、中国足协这个名字差!
    4、中国队――队医技术差!
    5、中国足协领导人――办公室里那位倒水扫地的大妈差!
1,停球
  把球停到自己脚下10毫米的后卫,是巴西球员。
  把球停到自己脚下10厘米的后卫,是西班牙球员。
  把球停到自己脚下10分米的后卫,是德国球员。
  把球停到自己脚下100米,并形成射门,迫使对方门将做出扑救的后卫,是中国球员。
  
  2,传球
  能够做出50米外精确长传,找到场上队友的球员,是英国球员。
  能够做出5米内精巧二过一的球员,是阿根廷球员。
  能够做出5米内短传传丢,并且后卫前锋隔着50米就玩二过一的球员,是中国球员。
  
  3,射门
  能够在30米外劲射破门的球员,是德国球员。
  能够通过精妙配合在门前3米打空门得手的球员,是葡萄牙球员。
  能够在罚点球时把角旗打翻的球员,是中国球员。
  
  4,带球
  能够把球从本方底线带到对方半场的球员,是荷兰球员。
  能够把球从本方底线带到对方底线的球员,是巴西球员。
  能够把球从本方球员脚下抢断,并带到本方球门里的,是中国球员。
  能够把球带得像亨利一样的,是大帝。
  
  5,球风
  能够对裁判鼓掌的球员,是欧洲球员。
  能够对裁判说脏话的球员,是南美球员。
  能够对裁判吐口水和追打的球员,是中国球员。
  
  6,踩单车
  能够连踩8个单车,得到点球的球员,是巴西球员。
  能够连踩3个单车,突入禁区助攻的球员,是葡萄牙球员。
  能够连踩半个单车,把自己摔成骨折的球员,是中国球员。
  
  7,体能
  能够狂奔90分钟,面不改色的球员,是韩国球员。
  能够奔跑90分钟,气喘吁吁的球员,是欧洲球员。
  能够跑动90分钟,汗流浃背的球员,是南美球员。
  能够散步90分钟,倒地抽筋的球员,是中国球员。
  
  8,速度
  能够跑的比球快的球员,是荷兰球员。
  能够跑的跟球一样快的球员,是英国球员。
  能够跑的跟裁判一样快的球员,是马尔代夫球员。
  连裁判都跑不过的球员,是中国球员。
  
  
  9,态度
  把足球当成生命的,是非洲球员。
  把足球当成工作的,是欧洲球员。
  把足球当成游戏的,是南美球员。
  把足球当成儿戏的,是中国球员。
如果冷静的推射入网,那他是德甲球员;

如果发力抽射,那他是英超球员;

如果在对方后卫的干扰下侧身凌空抽射入网,那他是意甲球员;

如果选择死角射入球门,那他是西甲球员;

如果一个黑人继续表演着他的踮球过人然后一脚射门射空,那他是法甲球员;

如果转身把球挑起来然后倒勾,那他是里瓦尔多;

如果还发力并且射不进去,那么是主场对摩纳哥的切尔西队员;

如果没射进去并独自一

人顺势倒下并判对方后卫犯规吹了点球,那他是世界杯上的韩国队员;

如果前锋位置不利,没有任何射门角度时被对方后卫绊倒,那后卫肯定是格雷斯科;

如果还不想射门想把对方后卫过一干净,那对手是中国队;

如果对方后卫过来把球抢下并带球轰入自家球门,那这是老虎杯比赛;

如果一脚踢上看台,那是李铁;

如果比李铁踢的还高,那是周宁;

如果比周宁踢的还高,那是李东波;

如果比李东波踢的还高,那是发射爱国者呢。

进球之后跑到场边庆祝,一堵墙塌下来把他砸伤,这人是帕勒莫

如果进球后做出农民式的伸右手庆祝方式,那一定是希勒.

如果进球后从内裤里拿出头套准备假装蜘蛛人,那是马克斯.

如果进球后从内裤里拿出铁锤准备砸向同伴的后脑,那他是...

如果突然不踢了,突然把衣服脱光,跑向裁判出示红牌,那他是那个裸奔之王

如果这名球员突然倒地,对方众后卫上来与其咬,颜射,这是日本J联赛……

如果球是向角旗方向飞去,在1/4烛香后球又自己飞回球门的那是卡螺丝……

如果是斜里冲过一个肩膀比头还高的人一脚大力抽射,球贴地地滚向角旗。该球员耸耸肩骂句戳比,那他是范志毅。

如果他不射门,还继续带球,并且把球带出了底线,自己又摔倒了,那他是李毅!

如果被对方后卫踢倒了,判罚了点球,这时候该前锋后退20米助跑,突然一个鱼跃在草皮滑行10米然后用头把点球顶进去了,那他是比埃霍夫

如果球被对方后卫合理的铲掉了,而该前锋躺在地上抱着腿痛苦的打滚,而发现裁判不予理睬后,站起来拍拍土又跑了,那他是姚夏

如果该前锋突然一个启动加速,却不小心踩住了皮球,往前一滑,一个劈叉,大腿拉伤,那他是张玉宁

如果一个蜻蜓点水越过龙门、踩着看台上一溜脑袋,拎出十三姨的辫子回家的,那是黄飞鸿

如果他带球过完所有的对方的后卫,面对空门,突然大喊:/"不射,不射,老子就是不射,45分钟不射!/"

这是伟哥广告

如果把球停在球门线上,再慢慢用头把球顶进门去的,那他就是鲁梅尼格

如果把球停在球门线上,然后用头顶进去,那他就是宿茂臻

如果把球停在禁区线上,然后大力抽射进去,把球网都打破了,那他就是巴第思图塔.

如果把球停在中线上,然后吊射进去,那他就是贝壳汉母.

如果把球放在自己一方的球门线上,然后一口气把球吹进对方球门,那么他就是――阎世铎!!!

如果认为中国能勇夺世界杯的,那他就是三楼楼长,
中国足球,培养的到底是球员还是恶棍?!

前有球霸,次有大帝,后有砸车暴徒,紧接着便是连环脚,中国球员是"人才"辈出,足球这个行业里头更是藏龙卧虎。现在的现象是老球员油,小球员狂,看来还得学学徐根宝当年的狼狗看门。


1. 许辉VS环卫大妈
  "他冲过来,抬起右腿,用标准的踢足球的动作踢在了我的左腿上,我痛得直哭!"昨日,躺在省骨科医院住院部3楼2号病床上,50岁的王前华提起十多天前被原全兴队的足球明星许辉踢骨折的经过,仍激动得声音发抖。
  许辉说,直到24日他才接到警方通知,得知对方骨折了,没料到那一脚踢得那么凶。到达派出所,许辉的第一句话就是:"人是我踢的".并表示:"医疗费是多少我会给。"至于为何不到医院去看望,许辉说责任不全在他,"我到医院跟她(指王前华)说什么呢?"
  许辉前队友魏群听说了此事的前因后果,魏群大叫"不可能"。"别说许辉了,就是你说一个大力士踢人家一脚就给人家踢骨折了,我都不太相信"。"会不会是老太太上楼梯时给磕折了?"当被告之出事后王前华直接就被120急救车送到了医院,魏群似乎才相信了。
2.吕刚VS几内亚民族英雄
一直喜爱东方文化的班戈拉选择了中国,却被吕刚野蛮的一脚断送人生所有前途。
  班戈拉是几内亚的国脚,曾在非洲杯上打入3球,帮助球队史无前例的打入非洲杯四强并且摘得银靴奖,在几内亚国内被视为民族英雄。
  来中国之前他收到了法甲,英甲,以及比利时联赛数支球队的邀请,在出价相差不大的情况下,一直喜爱东方文化的班戈拉选择了中国,却被吕刚野蛮的一脚断送人生所有前途。
"你见过用一只眼睛踢球的运动员吗?"当被问及金德外援班戈拉重返绿茵场的可能性时,北京大学眼科中心的专家无情地反问了一句。
3.申花新生代VS吴金贵
申花主帅吴金贵的宝马坐驾被砸,印在宝马车身上的,是一个疯狂的脚印,更是一个扇在中国职业球员脸上的响亮耳光。
  一位申花老将发出的震惊的感叹,他说自己在申花待了快10年了,他从未想象过这样的事情竟然会在申花队里发生,在看到吴金贵银色宝马惨不忍睹的后门和后盖时,这位申花老将向记者回忆说:"我真是吓坏了,看来我必须对我们球队的年轻队员们刮目相看了,他们比我们牛逼多了!"
4.球霸VS深圳俱乐部

中国足球,培养的到底是球员还是恶棍?!
5.范志毅VS出租车司机
范志毅当年在上海街头与出租司机发生纠纷,曾动手"拍"了杜龙宝的头,用脚踢了杜龙宝,用实际行动诠释了一个将军到江湖大佬的全过程.
踢球咱脚臭,可咱也不简单啊,嫖娼的时候

干的比谁都厉害,这一刻有我们才行。

要是到了酒店,咱们喝的比谁都凶!!!


戒掉中国足球比戒烟容易多了,你觉得呢??

原文地址:
http://club.chinaren.com/75761786.html
--
by 无际海

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn

星期三, 九月 06, 2006

锚标记测试

今天在用锚标记时,有个小小的发现,下面这个就是写的一个测试页面,在IE和FIREFOX中,html的ID标记都可以当做锚来直接使用,但在IE中如果锚标记的名称和某些html的ID标记重复时,使用 document.getElementById()方法时就有可能产生问题,把下面的代码保存成html文件执行就可以看出问题了。
 
点击这里查看效果
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>锚标记测试</title>
<script language="JavaScript" type="text/JavaScript">
function chStyle(eid)
{
    for(i=0; i<20; i++)
    {
        if(i==eid)
        {
            document.getElementById (eid).style.color='red';
        }
        else
        {
            document.getElementById(i).style.color='#000000';
        }
    }
}
</script>
</head>

<body>
<script>

    document.write("<table width='300' border='0' cellpadding='3' cellspacing='1' bgcolor='grey' >");

    document.write("<tr>");
    for(i=0; i<20; i++)
    {   
        if(i%5==0&&i!=0) document.write("</tr><tr>");
        document.write("<td ><a href='#"+i+"' onclick ='return chStyle("+i+")'>第"+i+"行</a></td>");

    }
    document.write("</tr>");
    document.write("</table><br>");


    document.write("<table width='300' border='0' cellpadding='3' cellspacing='1' bgcolor='grey' >" );
    for(i=0; i<20; i++)
    {   
        document.write("<tr align='center'>");
       
        document.write("<td><a name='"+i+"'>左"+i+"行</a></td><td id='"+i+"'>右"+i+"行</td>");
       
        document.write ("</tr>");
    }
    document.write("</table>");
</script>
</body>
</html>



--
by 无际海

小蚂蚁也有理想--IT蚂蚁工作室
www.ItMaYi.com
www.ItMaYi.cn