第二周——《一周问题集》

原来的这篇文章不知为何被删除了,重新再发一下。

一、SOL语句中的条件句,判断的条件不同则执行的操作不同

基本格式:Case...when...then....

     when....then...

             when....then...

     end

1、当条件是等于时,一般格式如下:

CASE <单值表达式>
       when <
>  then  <SQL语句或者返回值
>
       when <
>  then  <SQL语句或者返回值
>
       ...
       when <
>  then  <SQL语句或者返回值
>
END


2、当条件不是等于时,一般格式如下:

CASE  

      when <表达式>  then  ……

      when <表达式>  then  ……
       when <表达式>  then  …….

....
END


项目中的例子:

Case when length(a.msg)>20  then  substr (a.Msgcontent,1,20||'....'  

when length(a.msg)<20  or length(a.msg)=20  then    a.Msgcontent

end   as    Msgcontent


二、正则表达式在c#和JS中的应用

1、在c#中,有专门的命名空间,System.Text.RegularExpressions,在此命名空间下,有一些常用的静态方法:

 IsMatch:如果表达式在字符串中匹配,该方法返回一个布尔值;
  Regex tellRegex = new Regex(@"^[0-9]*$");
  if (!tellRegex.IsMatch(Tel_txt.Text.Trim())) 
  {
   Suggest_lab.Text = "输入的不是数字!";
  }  
 Match:  返回Match的实例,只返回第一个匹配; 
          Regex tellRegex = new Regex(@"^[0-9]*$");
          Match  myMatch = tellRegex.Match(str);
               
Matches: 返回一系列的Match的方法,返回所有匹配,存放在MatchCollectio
         MatchCollection中;
      Regex tellRegex = new Regex(@"^[0-9]*$");
        MatchCollection myMatches = myRegex.Matches(str);


2在JavaScript 1.2中带有一个功能强大的RegExp()对象,可以用来进行正则表达式的匹配操作。其中的test()方法可以检验目标对象中是否包含匹配模式,并相应的返回true或false。   


三、Oracle中常用的日期函数

1、ADD_MONTHS(<d>,<i>) 返回日期d 加上i个月后的新日期(i正可负)。

例:

SELECT SYSDATE, ADD_MONTHS(SYSDATE,2), 

ADD_MONTHS(SYSDATE,
-2


FROM
 DUAL; 
  
2、LAST_DAY(
<d>) 返回日期d所在的月的最后一天。 

SELECT SYSDATE,LAST_DAY(SYSDATE) FROM DUAL 


3、NEXT_DAY(<d>,<dow>) 返回日期d后的第一个dow。(dow:day of week) 指星期几

SELECT NEXT_DAY(SYSDATE,’Monday’) FROM DUAL;

4、MONTHS_BETWEEN(<d1>,<d2>) 返回日期d1比d2大多少月数。

SELECT MONTHS_BETWEEN(’19-Dec-1999’,’19-Mar-2000’ FROM DUAL; 


5、NEW_TIME(<d>,<tz1>,<tz2>) 将时区tz1的时间d,转换为时区tz2里的时间。 

SELECT SYSDATE,NEW_TIME(SYSDATE,’CDT’,’PDT’) FROM DUAL; 


四、关于 string.IsNullOrEmpty(str)


只对null和“”起作用,如果是“    ”,中间有空格,就不起作用了,所以str保险起见要变成Str.Trim()


五、怎样用JS在输入框中禁止输入汉字和特殊字符

1、禁止输入汉字:

 <input ōnkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')"ōnbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))">


2、禁止输入特殊字符

<input type="text" name="typeName"id="typeName" maxlength="15"onkeyup="this.value=this.value.replace(/[^a-zA-Z0-9\u4E00-\u9FA5]*$/,'')">

 

你可能感兴趣的:(第二周——《一周问题集》)