1、oracle相关问题的解决及页面tomcat相关遇到的问题:1、ORA-00979 不是group by表达式当一个SQL语句中含有聚合函数时,(比如:count(),sum(),avg()等等)并且SELECT 后面又有不是聚合函数的字段,就必须要GROUP BY 不是聚合函的所有字段,比如你的SQL语句应该写成:select b.id0000,b.xming0,sum(salary)from Employee a,Salary b where a.id0000=b.id0000group by b.id0000,b.xming0这样就不会错啦.2 、在oracle中,如何将时间类型转换成字
2、符类型? to_char(sysdate,yyyy-mm-dd hh24:mi:ss)3、oracle 实现按天,周,月,季度,年查询统计数据/按天统计select count(dataid) as 每天操作数量, sum()fromwheregroup by trunc(createtime, DD)/按自然周统计 select to_char(date,iw),sum() from where group by to_char(date,iw) /按自然月统计 select to_char(date,mm),sum() from where group by to_char(date,mm
3、) /按季统计 select to_char(date,q),sum() from where group by to_char(date,q) /按年统计 select to_char(date,yyyy),sum() from where group by to_char(date,yyyy)4将两个记录集的内容合并UNION 运算符使您得以将两个或多个 SELECT 语句的结果组合成一个结果集。 SELECT * FROM Table1 UNION SELECT * FROM Table2 UNION 运算符 将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部
4、行。这与使用联接组合两个表中的列不同。 使用 UNION 组合两个查询的结果集的两个基本规则是: 所有查询中的列数和列的顺序必须相同。 数据类型必须兼容。 语法 | ( ) UNION ALL query specification | ( ) UNION ALL query specification | ( ) .n 参数 | ( ) 是查询规范或查询表达式,用以返回与另一个查询规范或查询表达式所返回的数据组合的数据。作为 UNION 运算一部分的列定义可以不相同,但它们必须通过隐性转换实现兼容。 下表说明数据类型与相应 (ith) 列的选项的比较规则。 ith 列的数据类型 结果表中 i
5、th 列的数据类型 非数据兼容类型(数据转换不由 Microsoft® SQL Server™ 隐性处理)。 SQL Server 返回的错误。 长度为 L1 和 L2 的固定长度 char。 长度与 L1 和 L2 中较长的那个相等的固定长度 char。 长度为 L1 和 L2 的固定长度 binary。 长度与 L1 和 L2 中较长的那个相等的固定长度 binary。 任一列或两列都是可变长度 char。 长度与为 ith 列指定的最大长度相等的可变长度 char。 任一列或两列都是可变长度 binary。 长度与为 ith 列指定的最大长度相等的可变长度 binar
6、y。 两列都是数字数据类型(如 smallint、int、float、money)。 与两列的最大精度相等的数据类型。例如,如果表 A 的 ith 列是 int 类型,表 B 的 ith 列是 float 类型,则 ith 列在结果表中的数据类型是 float,因为 float 比 int 更精确。 两列的描述都指定 NOT NULL。 指定 NOT NULL。 UNION 指定组合多个结果集并将其作为单个结果集返回。 ALL 在结果中包含所有的行,包括重复行。如果没有指定,则删除重复行。 5、JS文本框验证写一个代码,验证文本框最长为字符怎么写啊?(1)function validate(o
7、bj) if(obj.value)if(obj.value.length30)alert(长度不能大于30);return false;(2)这样就可以了6、从页面得到的字符类型转换成长整形本来语句是这些: String userId = request.getParameter(UserId); if (userId = null) userId = ; user.setUserId(userId); user.searchStu();现在我需要把userId 转成int型的那下面的那些语句都该怎么写呢?Integer.parseInt(userId);/转int String.valueO
8、f(userId);/转回string /后面的id你用string设置为空了,但是每一个实体的id必须有的。所以我不太了解您要做什么。实在不行设置为0好了。个人认为您的类需要重新设计一下。如果懒得设计就用上面给您的两个方法来回转换吧。 这位朋友,冒昧对你的程序分析分析,有说错的地方还请不要见怪呀。 Applet applet = new Applet(); Applet user = new Applet(); String userId = applet.getParameter(UserId); /String userId = request.getParameter(UserId);
9、 /你这一句要调用的是getParameter()方法,我运行时是无法调用,因为Request是一个类,即使你创建了request对象,也找不到getParameter()方法,这个方法应该在Applet这个类中能够找的到,上面我已经定义了。还有就是下面setUserId()和searchStu()方法应该是你自己定义的吧。 if (userId = null) userId = ; user.setUserId(userId); user.searchStu(); Integer.parseInt(userId); /parseInt()这个方法是将String型转化为int型的。在API中
10、你可以搜一下,看看具体上面怎么说。 String.valueOf(userId); /valueOf()这个方法是将int型转回String 型。7、trunc1.TRUNC(for dates) TRUNC函数为指定元素而截去的日期值。 其具体的语法格式如下: TRUNC(date,fmt) 其中: date 一个日期值 fmt 日期格式,该日期将由指定的元素格式所截去。忽略它则由最近的日期截去 下面是该函数的使用情况: TRUNC(TO_DATE(24-Nov-1999 08:00 pm),dd-mon-yyyy hh:mi am) =24-Nov-1999 12:00:00 am TRU
11、NC(TO_DATE(24-Nov-1999 08:37 pm,dd-mon-yyyy hh:mi am),hh) =24-Nov-1999 08:00:00 am trunc(sysdate,yyyy) -返回当年第一天. trunc(sysdate,mm) -返回当月第一天. trunc(sysdate,d) -返回当前星期的第一天. trunc(sysdate,dd)-返回当前年月日 2.TRUNC(for number) TRUNC函数返回处理后的数值,其工作机制与ROUND函数极为类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,而统统截去。 其具体的语法格式如下 TRUN
12、C(number,decimals) 其中: number 待做截取处理的数值 decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分 下面是该函数的使用情况: TRUNC(89.985,2)=89.98 TRUNC(89.985)=89 TRUNC(89.985,-1)=80 注意:第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去,即均以0记。与取整类似,比如参数为1即取整到十分位,如果是-1,则是取整到十位,以此类推。8、myEclipse中如何显示行数Window-Preferences-General-Editors-TextEditors:sho
13、w line number9、JavaScript split() 方法JavaScript String 对象参考手册定义和用法split() 方法用于把一个字符串分割成字符串数组。语法stringObject.split(separator,howmany)参数描述separator必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。howmany可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。返回值一个字符串数组。该数组是通过在 separator 指定的边界
14、处将字符串 stringObject 分割成子串创建的。返回的数组中的字串不包括 separator 自身。但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。提示和注释注释:如果把空字符串 () 用作 separator,那么 stringObject 中的每个字符之间都会被分割。注释:String.split() 执行的操作与 Array.join 执行的操作是相反的。实例例子 1在本例中,我们将按照不同的方式来分割字符串:var str=How are you doing today?docume
15、nt.write(str.split( ) + )document.write(str.split() + )document.write(str.split( ,3)输出:How,are,you,doing,today?H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?How,are,you例子 2在本例中,我们将分割结构更为复杂的字符串:2:3:4:5.split(:) /将返回2, 3, 4, 5|a|b|c.split(|) /将返回, a, b, c例子 3使用下面的代码,可以把句子分割成单词:var words = sentence.sp
16、lit( )或者使用正则表达式作为 separator:var words = sentence.split(/s+/)例子 4如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:hello.split() /可返回 h, e, l, l, o若只需要返回一部分字符,请使用 howmany 参数:hello.split(, 3) /可返回 h, e, l10.java:String类的matches()方法match()的参数一般为正则表达式,现在两个正则表达式,可以试用正则表达式一:可以适用任何形式的字符串,其中LikeType是要匹配的字符串,patten是生成的正则表达
17、式,sourceStr是已有字符串,判断sourceStr是否满足LikeType的正则表达式public static void main(String args) / TODO Auto-generated method stub String likeType = 23; String pattern = a-zA-Z0-9* + likeType + 1a-zA-Z0-9*; String sourceStr = adfjaslfj23ldfalsf; System.out.println(sourceStr.matches(likeType); 正则表达式二:固定位置的字符串匹配,理
18、解同上,只是正则表达式的不同public static void main(String args) / TODO Auto-generated method stub String likeType = %23%*; String sourceStr = 423236664; likeType = likeType.replaceAll(%, d).replaceAll(*, d*); System.out.println(likeType); System.out.println(sourceStr.matches(likeType); match的方法比较简单,但绝对实用,所以要掌握用法
19、,正则表达式的写法尤其重要。11JavaScript indexOf() 方法JavaScript String 对象参考手册定义和用法indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。语法stringObject.indexOf(searchvalue,fromindex)参数描述searchvalue必需。规定需检索的字符串值。fromindex可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。说明该方法将从头到尾地检索字符串 stringObject,看
20、它是否含有子串 searchvalue。开始检索的位置在字符串的 fromindex 处或字符串的开头(没有指定 fromindex 时)。如果找到一个 searchvalue,则返回 searchvalue 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。提示和注释注释:indexOf() 方法对大小写敏感!注释:如果要检索的字符串值没有出现,则该方法返回 -1。实例在本例中,我们将在 Hello world! 字符串内进行不同的检索:var str=Hello world!document.write(str.indexOf(Hello) + )document
21、.write(str.indexOf(World) + )document.write(str.indexOf(world)以上代码的输出:0-1612tomcat乱码解决方案 ignore true Encoding /* 注意filter元素要放在所有web.xml元素之前。(2) Get方法的处理tomcat对post和get的处理方法不一样,所以过滤器不能解决get的乱码问题,它需要在其他地方设置。打开conf目录下server.xml文件,找到对8080端口进行服务的Connector组件的设置部分,给这个组件添加一个属性:URIEncoding=GBK。修改后的Connector设
22、置为: * 注意修改后重新启动tomcat才能起作用。3)数据库应用的乱码,本文还是以mysql为例(1)修改配置文件my.init 将default-character-set=latin1修改为default-character-set=gbk(2) 对接受的中文字符重新编码,例 String name=requset.getParameter(name); name = new String(name.getBytes(gbk),iso8859-1);4)tomcat5.x的include页面乱码 为了能让tomcat5.x能像tomcat4那样处理include页面,需要修改项目web
23、-info/web.xml文件,把默认的字符集设置成gbk/gb2312就可以了,如: Special property group for JSP Configuration JSP example. JSPConfiguration *.jsp true GBK false /include/prelude.jspf 13instanceof简介instanceof是Java的一个二元操作符,和=,是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。可以用在继承中的子类的实例是否为父类的实现 编辑
24、本段示例举个例子: String s = I AM an Object!; boolean isObject = s instanceof Object; 我们声明了一个String对象引用,指向一个String对象,然后用instanceof来测试它所指向的对象是否是Object类的一个实例,显然,这是真的,所以返回true,也就是isObject的值为true。 instanceof有一些用处。比如我们写了一个处理账单的系统,其中有这样三个类: public class Bill /省略细节 public class PhoneBill extends Bill /省略细节 public
25、class GasBill extends Bill /省略细节 在处理程序里有一个方法,接受一个Bill类型的对象,计算金额。假设两种账单计算方法不同,而传入的Bill对象可能是两种中的任何一种,所以要用instanceof来判断: public double calculate(Bill bill) if (bill instanceof PhoneBill) /计算电话账单 if (bill instanceof GasBill) /计算燃气账单 . 这样就可以用一个方法处理两种子类。 然而,这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现,这是面向对象编程应有的做法,避免回到结构化编程模式。只要提供两个名字和返回值都相同,接受参数类型不同的方法就可以了: public double calculate(PhoneBill bill) /计算电话账单 public double calculate(GasBill bill) /
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1