日历
网志分类
· 所有网志 (115)
· 实习生活 (6)
· 大学那些事 (7)
· 一些瞎看的书 (0)
· 生命中不能没有音乐 (2)
· 我的测评 (4)
· 记录 (5)
· 未分类 (91)
最新的评论
站内搜索
友情链接
· 我的歪酷 非非共享界

订阅 RSS

0007849

歪酷博客

笨小孩Jeff

要像大人们学习……


Jeff @ 2009-07-03 13:06

为什么我说的话,大家都不当真呢?难道我说的是笑话? 很伤心的说,大家都这么开玩笑的吗? 我像开玩笑的吗?:(


 
Jeff @ 2009-06-29 11:32

一个Cron-表达式是一个由六至七个字段组成由空格分隔的字符串,其中6个字段是必须的而一个是可选的,如下:

字段名   允许的值   允许的特殊字符
  0-59   , - * /
  0-59   , - * /
小时   0-23   , - * /
  1-31   , - * ? / L W C
  1-12 or JAN-DEC   , - * /
周几   1-7 or SUN-SAT   , - * ? / L C #
年 (可选字段)   empty, 1970-2099   , - * /

 

 '*' 字符可以用于所有字段,在“分”字段中设为"*"表示"每一分钟"的含义。

'?' 字符可以用在“日”和“周几”字段. 它用来指定 '不明确的值'. 这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。

'-' 字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10点到12点".

 ',' 字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示"the days Monday, Wednesday, and Friday".

'/' 字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。而 "5/15"则表示"第5, 20, 35, 和 50". 在'/'前加"*"字符相当于指定从0秒开始. 每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。"/"字段仅仅只是帮助你在允许的数值范围内从开始"第n"的值。 因此 对于“月”字段来说"7/6"只是表示7月被开启而不是“每六个月”, 请注意其中微妙的差别。

'L'字符可用在“日”和“周几”这两个字段。它是"last"的缩写, 但是在这两个字段中有不同的含义。例如,“日”字段中的"L"表示"一个月中的最后一天" —— 对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中, 它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后, 它表示"该月最后一个星期×" —— 比如"6L"表示"该月最后一个周五"。当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。

'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。比如你将“日”字段设为"15W",意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。然而如果你将“日”字段设为"1W", 而一号又是周六, 触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。

'L'和'W'可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。

'#' 字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。再比如: "2#1" = 表示该月第一个周一而 "4#5" = 该月第五个周三。注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。

'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。 它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。

对于“月份”字段和“周几”字段来说合法的字符都不是大小写敏感的。

下面是一些完整的例子:

表达式   含义
"0 0 12 * * ?"   每天中午十二点触发
"0 15 10 ? * *"   每天早上10:15触发
"0 15 10 * * ?"   每天早上10:15触发
"0 15 10 * * ? *"   每天早上10:15触发
"0 15 10 * * ? 2005"   2005年的每天早上10:15触发
"0 * 14 * * ?"   每天从下午2点开始到2点59分每分钟一次触发
"0 0/5 14 * * ?"   每天从下午2点开始到2:55分结束每5分钟一次触发
"0 0/5 14,18 * * ?"   每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发
"0 0-5 14 * * ?"   每天14:00至14:05每分钟一次触发
"0 10,44 14 ? 3 WED"   三月的每周三的14:10和14:44触发
"0 15 10 ? * MON-FRI"   每个周一、周二、周三、周四、周五的10:15触发
"0 15 10 15 * ?"   每月15号的10:15触发
"0 15 10 L * ?"   每月的最后一天的10:15触发
"0 15 10 ? * 6L"   每月最后一个周五的10:15触发
"0 15 10 ? * 6L"   每月最后一个周五的10:15触发
"0 15 10 ? * 6L 2002-2005"   2002年至2005年的每月最后一个周五的10:15触发
"0 15 10 ? * 6#3"   每月的第三个周五的10:15触发


 
Jeff @ 2009-05-17 14:13

我觉得自己好累。从别人眼里,从自己感觉,了解到,自己真是个麻烦的人,要求,吹毛求疵。。。事事,不放心。。。 工作,玩耍,都是那么的顾钱顾后的,真的够累的。


 
Jeff @ 2009-04-25 15:38

LEFT JOIN 与 RIGHT JOIN 简明教程(ORACLE & MYSQL)

Oracle的左连接和右连接
 
 
在Oracle PL-SQL中,左连接和右连接以如下方式来实现

查看如下语句:
SELECT emp_name, dept_name 
FORM Employee, Department
WHERE Employee.emp_deptid(+= Department.deptid
此SQL文使用了右连接,即“(+)”所在位置的另一侧为连接的方向,右连接说明等号右侧的所有记录均会被显示,无论其在左侧是否得到匹配,也就是说上例中无论会不会出现某个部门没有一个员工的情况,这个部门的名字都会在查询结果中出现。

反之:
SELECT emp_name, dept_name 
FORM Employee, Department
WHERE Employee.emp_deptid = Department.deptid(+)
则是左连接,无论这个员工有没有一个能在Department表中得到匹配的部门号,这个员工的记录都会被显示

 

 

 ++++++++++++++++++++++++++++++++++++++++++MYSQL

A left join B 的连接的记录数与A表的记录数同
A right join B 的连接的记录数与B表的记录数同
A left join B 等价B right join A


table A:
Field_K, Field_A
1          a
3          b
4          c

table B:
Field_K, Field_B
1          x
2          y
4          z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B
from a left join b on a.Field_K=b.Field_K

Field_K    Field_A    Field_K    Field_B   
---------- ---------- ---------- ----------
1          a          1          x       
3          b          NULL      NULL
4          c          4          z       

select a.Field_K, a.Field_A, b.Field_K, b.Field_B
from a right join b on a.Field_K=b.Field_K

Field_K    Field_A    Field_K    Field_B   
---------- ---------- ---------- ----------
1          a          1          x       
NULL       NULL       2          y       
4          c          4          z 

 
 
 
++++++++++++++++++++++++++++++++++++++
 
 
 
这样的。
   table1            table2
   id,sex1           id   sex2
   a     1          a       4
   b     0
select id,sex1,sex2 from table1 left join table2 on table1.id=table2.id
  则,
  id  sex1  sex2
  a     1    4
  b     0    null
也就是说left join 则连接左边表中所有记录都会出现,如果根据连接条件在table2中找不到相关记录,则显示为null
  right join 则显示右边表中的全部记录。
  inner join 则只有符合条件的记录才会出现在结果集中


 
Jeff @ 2009-04-23 17:23

ORA-01653: Unable to extend table %s.%s by %s in tablespace %s The tablespace the table is residing in is unable to extent. There is not enough space left either due to the datafiles being full, autoextend which is not set at datafile level or due to a disk which's full. You'll have to check the size of the datafiles attached to the tablespace and check whether they can autoextend or not.. select file_name, bytes, autoextensible, maxbytesfrom dba_data_fileswhere tablespace_name='TABLESPACE_NAME' Either add more datafiles to the tablespace, set the autoextensible flag or enlarge the datafile(s). To add more space to a file issue following command: alter database datafile 'C:\ORACLE\ORADATA\TOOLS01.DBF' resize 1000m; To turn on the autoextend feature on a datafile use following command: alter database datafile 'C:\ORACLE\ORADATA\TOOLS01.DBF' autoextend on next 100m maxsize 2000m; To add a new datafile to the tablespace use following command: alter tablespace TOOLS add datafile 'C:\ORACLE\ORADATA\TOOLS02.DBF' autoextend on next 100m maxsize 2000m;


 
Jeff @ 2009-04-22 11:37

在使用httpclient这个包的时候,发现会有很多日志打出来,怎么办呢? 在log4j的配置里面将,httpclient配成error级别。。然后不打error就可以了 log4j.logger.httpclient.wire=error log4j.logger.org.apache.commons.httpclient=error