??xml version="1.0" encoding="utf-8" standalone="yes"?>av一区二区三区在线观看,国产精品一二二区,国产亚洲精品久久久优势http://www.aygfsteel.com/zongbao/zh-cnTue, 17 Jun 2025 10:25:37 GMTTue, 17 Jun 2025 10:25:37 GMT60数据库对?-索引http://www.aygfsteel.com/zongbao/archive/2012/08/18/385751.html地心引力地心引力Sat, 18 Aug 2012 15:09:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385751.htmlhttp://www.aygfsteel.com/zongbao/comments/385751.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385751.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385751.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385751.html什么是索引?

    提v索引,应该不会感到陌生,若说它就是目?/span>,大概都知道了,数据库的索引与书的目录很怼,都叫index.书的内容相当于数据库表中的数?/span>,?/span>的目录通过늠指向书的内容,同样,索引也记录了表中的关键?/span>,提供了指向表中行的指?/span>.书的目录使读者很快的扑ֈ想看的内?/span>,而不必翻看书的每一?/span>,索引使得数据库应用程序能够不扫描全表而找到想要的数据.

 

索引是不是多多益?/span>?

    索引可以创徏在一列或多列的组合上,也可以在数据库表的多个列上徏立不同的索引,但这些列应该是经怽为查询条件的?/span>.需要指出的?/span>,q不是表上的索引多好,在数据库设计q程中,q是需要ؓ表选择一些合适的索引。宁~勿烂,q是建立索引时的一个具体选择。在理论上,虽然一个表可以讄无限的烦引,?/span>表中的烦引越多,l护索引所需要的开销也就大。每当数据表中记录有增加、删除、更新变化的时候,数据库系l都需要对所有烦引进行更新?/span>

 

索引的分c?/p>

    索引可以分ؓ三类:聚集索引(clustered index),非聚集烦?/span>,唯一性烦?/span>(unique index).Ҏ索引字段l成又有复合索引的说?/span>,复合索引可以是唯一索引也可以不是唯一索引.一个表上最多创Z个聚集烦引和249个非聚集索引.

 

创徏索引的条?/p>

Q?Qؓl常出现在关键字orderby、group by、distinct后面的字D,建立索引?/p>

Q?Q在union{集合操作的l果集字D上Q徏立烦引?/p>

Q?Qؓl常用作查询选择的字D,建立索引?/p>

Q?Q在l常用作表连接的属性上Q徏立烦引?/p>

Q?Q考虑使用索引覆盖。对数据很少被更新的表,如果用户l常只查询其中的几个字段Q可以考虑在这几个字段上徏立烦引,从而将表的扫描改变为烦引的扫描?/p>

 

创徏索引的限?/p>

Q?Q限制烦引数目?/p>

 (2)唯一性太差的字段不适合单独创徏索引Q?/p>

 (3)更新频繁的字D不适合创徏索引Q?/p>

 (4)不会做ؓ查询条g的字D不创徏索引



地心引力 2012-08-18 23:09 发表评论
]]>
数据库对?-存储q程和触发器http://www.aygfsteel.com/zongbao/archive/2012/08/18/385752.html地心引力地心引力Sat, 18 Aug 2012 15:09:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385752.htmlhttp://www.aygfsteel.com/zongbao/comments/385752.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385752.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385752.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385752.html      存储q程和触发器都是一l?/span>SQL语句集合,他们在数据库开发过E中,在对数据库的l护和管理等d?/span>,以及在维护数据库参照完整性等斚w,h不可替代的作?/span>.而触发器是一U特D的存储q程,存储q程独立于表,h讉K和操U|据库数据的功?/span>,使应用程序执行效率得到进一步提?/span>.触发器也?/span>T_SQL语句的集?/span>,它与表密切结?/span>,实现表中更ؓ复杂的业务规?/span>.

         存储q程是以一个名字存储在数据库中?/span>,l过预编译的T_SQL语句集合,可以独立执行或通过应用E序的调用来执行.


        触发器是不由用户直接调用?/span>,而是在对表或视图中数据进?/span>update,insert或?/span>delete操作时自动执?/span>.一个表或视囑֏以有多个触发?/span>,每个触发器可以包含复杂的SQL语句.数据库表之间的引用完整性约?/span>,除了可以采用主键和外键的对应U束来实C?/span>,q可以用触发器,从而实现更复杂的用户定义完整性约?/span>.

    



地心引力 2012-08-18 23:09 发表评论
]]>
Oralce SQL语言常用函数http://www.aygfsteel.com/zongbao/archive/2012/08/18/385749.html地心引力地心引力Sat, 18 Aug 2012 15:08:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385749.htmlhttp://www.aygfsteel.com/zongbao/comments/385749.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385749.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385749.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385749.html字符函数

q个函数一般接收字W作为参敎ͼq且可以q回字符或数?/span>

其中最常用有以下两个函?/span>


1.CONCAT函数

主要用于字符串的q接Q具体语法如?/span>

CONCATQc1,c2Q?/span>

接收两个参数Q将W二个参数连接到W一个参数的末尾Q假如第二个参数是NULLQ?/span>

则函数返回第一个参敎ͼ假如W一个参数是NULLQ则参数q回W二个参敎ͼ

假如都ؓNULLQ则函数q回NULL


为商品h格添加元单位CZ如下Q?br />



2.NVL函数

q个函数主要用于函数替换

NVL(e1,e2)

接收两个参数Q假如第一个参C为NULLӞ函数q回W一个参敎ͼ

假如W一个参CؓNULLӞ函数q回W二个参?/span>

具体的用示例如下:

查询商品表的相关信息Q对没有详细介绍的商品默认设|显C?#8220;暂无详细描述”


可用暂无详l描q来代替NULL


字符常用函数q有很多Q希望大家能在我的基上评?/span>



地心引力 2012-08-18 23:08 发表评论
]]>
熟悉掌握Oracle SQL语言http://www.aygfsteel.com/zongbao/archive/2012/08/18/385750.html地心引力地心引力Sat, 18 Aug 2012 15:08:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385750.htmlhttp://www.aygfsteel.com/zongbao/comments/385750.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385750.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385750.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385750.htmlSQL语言是一U高U的非过E化的查询语aQ用户用它主要q行数据库的操作

可以把SQL语言看成是客L与服务器端沟通的一个工P用来存取Q查询和更新Q关pL据库pȝ


Insert语句

INSERT语句的语法结构如下:


table值的是要插入数据的表的表名,Column指的是要插入数据的列名,Value指的是要插入的具体数据?/span>


例如往会员表中插入一个新的会员数据,可以q样dQ?/span>


前者的优点是可以指定哪些字D|加哪些数据,~点是表名后面的括号中的字D名需要和Value值相对照

后者的优点是书写简单,~点是要把所有的字段都在Value中进行赋?/span>

当需要插入数据包含有I值的时候,一般用第一U方法,而第二种Ҏq行插入需要用NULL关键字进行填?/span>


假如插入的数据包含时_而且旉是当前的旉Q?/span>



假如插入的是旉Qƈ且时间是某个具体的时_我们可以上q的语句q行修改如下Q?/span>


以上操作的都是单行的数据Q而下面的操作是多行的数据


插入多行数据CZ如下Q?br />



UPDATE语句

UPDATE语句l构如下Q?/span>



如初始化所有会员密码:



按条件更斎ͼ



做更新操作的时候,WHERE条g一般选择cM主键q样有唯一性约束的字段Q除非特D情况,

否则的话会引h想不到的误操作,比如更新用户表时以name作ؓ条g的话Q就十分危险Q?/span>

因ؓ名字是可以重复的


Select语句

我们Ҏ据库做得最多的操作是数据检?/span>

select语句显得极光?/span>

其中最单的查询实例如下Q?/span>


*指的是所有列


而查询所有VIP数据如下Q?/span>



查询两个条g同时成立的示例如下:



查询两个条g成立其中一个,CZ如下Q?/span>



查询条g为空的示例如下:



当要查询会员中所有姓李的会员Ӟ需要用到模p查询:


% 能匹?到多个字W?/span>

_ 能Q意匹配单个字W?/span>


查询商品表中h?00-400之间的商品数?



而查询会员表中张三、李四、王五的信息Ҏ如下Q?/span>



使用别名查询Q?/span>



其中查询中可能需要对查询的结果进行排序,其结构如下:



查询商品表,按上架时间进行排序:



如果惛_掉查询结果中的重复数据,可以使用Distinction关键字,如下



Delete语句

语法l构如下


其中的table ?condition在上面已l有提及

删除CZ如下


在实际操作中我们应该使用假删除,是再增加一个状态(一般ؓstatusQ的字段

在删除错误之后,我们可以?ROLLBACK来回滚事?/span>



地心引力 2012-08-18 23:08 发表评论
]]>
学习oracleU束http://www.aygfsteel.com/zongbao/archive/2012/08/18/385748.html地心引力地心引力Sat, 18 Aug 2012 15:07:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385748.htmlhttp://www.aygfsteel.com/zongbao/comments/385748.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/18/385748.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385748.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385748.html阅读全文

地心引力 2012-08-18 23:07 发表评论
]]>
Linux文g权限的那些事http://www.aygfsteel.com/zongbao/archive/2012/08/08/385096.html地心引力地心引力Wed, 08 Aug 2012 15:41:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/08/385096.htmlhttp://www.aygfsteel.com/zongbao/comments/385096.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/08/385096.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385096.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385096.htmllinux是一个多用户Q多d的操作系l,对于每一个文件它的属性中都包括:文g所有?owner)Q文件所属组(group)Q其他用?other),q必d备与q三个角色对应的读,写,执行的权限,如下图:

在tmp目录下面有一个a.txt文gQ我们通过ls -l命o可以查看其详l信息:

-Q表C普通文Ӟd:表示目录文gQl:链接文g,b:讑֤文g中可以供存储的接口设?c:讑֤文g中串行端口设备如键盘?/p>

׃最前面?Q所以a.txt是普通文件?/p>

再看  rw-r--r--部分Q我们将其分Zl,分别对应文g所有者,文g所属组Q其他用L权限.

其中r代表d权限Qw:代表写权限,xQ代表执行权?q里没出?,-Q代表没有某U权限?/p>

那对上面的权限的解释是Q?/p>

owner:可以d写,不能执行

group:可以d不能写,不能执行

other:可以dQ不能写Q不能执?/p>

 

W一个root代表文g所有者,W二个root代表文g所属组

那么现在我如果想修改文g所有者,文g所属组Q文件权限该怎么做,Ll向下阅读:

chgrp:修改用户所属组QchownQ修Ҏ件所有者,chmod:修改文g权限

 

假设我的pȝ中又一个叫gavin的组(通过/etc/group查看)

如上图,通过chgrp命o该文g的group修改Zgavin

下面修改其所有者:

 

修改其权限:

 

chmod  777 a.txt   q个777代表什?

在linux中用数字代表权限:

r:4 w:2 x:1

r--   =4+0+0=4;

rw- =4+2+0=6;

rwx =4+2+1=7

怿写到q里大家都应该明白了吧?/p>

 

权限对于文g和文件夹的意义是不一LQ?/p>

对于文gQ?/p>

r:代表可以d文g的内容,w:代表可以修改文g的内容,x:可以执行q个文g

对于文g夹:

r:可以获取文g夹中又哪些文Ӟw:可以d和删除文件夹中的内容Qx:可以q入文g夹,

如果某个角色对于一个文件夹的权限是rw-;

那么他仅仅可以用ls获取文g夹中的内容,但是不可以用cdq入该文件夹?/p>

 

 

 

文g的权限告一D落Q现在来看看linux中的那些常见目录中的内容Q?/p>

/bin   pȝ有很多放|执行文件的目录Q但?bin比较ҎQ因?bin攄的是在单用户l护模式下还能够被操作的命oQ在/bin下面的命令可以被root和一般̎户用,如:cat,chmod,chown,data,mv,mkdir,cp ,bash{常用命令?/p>

/boot  主要攄开Z用到的文?/p>

/dev  在linuxpȝ中Q何设备与接口讑֤都是以文件的形式存在于这个目录当中,你只要访问某个文件就相当于访问该讑֤

/etc  pȝ的主要配|文件几乎都在这个文件夹cR?/p>

/home q是pȝ默认的用户主文g?/p>

/lib pȝ的函数库非常多,?lib攄的是开Z使用到的函数?/p>

/mnt 如果你想临时挂在一些外部设备(光盘Q一般徏议放|到q个目录?/p>

/opt q是l第三方软g攄的目?/p>

/root pȝ理员的L件夹

/tmp q是让一般用h者正在执行的E序攄文g的地方,q个目录是Q何h都可以访问的Q所以你需要定期清理一下,当然重要数据时不能放到这里来的?/p>

 

 

关于文g权限的最后一点就是:文g默认权限umask

现在我们已经知道如何新徏或者改变一个目录的属性了Q不q你知道当你新徏一个新的文件或则目录是Q它的默认权限是什么吗Q那是于umaskq东西有关了Q那么umask是在搞什么呢Q基本上Qumask是制定目前用户在新建文件或目录的时候权限的默认|如果获得或设|umaskQ方法如下:

#umask  或则  umask -S

(四位敎ͼW一位我们先不管Q表C特D权限,我们从第二位开始看?

在默认权限上Q文件和目录是不一LQ对于一个目录,x权限是非帔R要的 Q而对于一个文Ӟx权限在默认是不应该有的,因ؓ文g大多是用来存储数据的Q所以在linux中,文g的默认权限是666,目录的默认权限是777

 

 

要注意的是umask的分数指的是“默认值需要剪掉的权限”,

所以新建文件时权限Qrw--r--r--

新徏目录Qr-xr-xr-x



地心引力 2012-08-08 23:41 发表评论
]]>
判断一个字W串是否是回?/title><link>http://www.aygfsteel.com/zongbao/archive/2012/08/08/385095.html</link><dc:creator>地心引力</dc:creator><author>地心引力</author><pubDate>Wed, 08 Aug 2012 15:40:00 GMT</pubDate><guid>http://www.aygfsteel.com/zongbao/archive/2012/08/08/385095.html</guid><wfw:comment>http://www.aygfsteel.com/zongbao/comments/385095.html</wfw:comment><comments>http://www.aygfsteel.com/zongbao/archive/2012/08/08/385095.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/zongbao/comments/commentRss/385095.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/zongbao/services/trackbacks/385095.html</trackback:ping><description><![CDATA[<div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->#include <stdio.h><br />#include <stdlib.h><br /><br /><span style="color: #008000; ">/*</span><span style="color: #008000; ">判断用户输入的字W串是否为回?br /> *回文是指和反读都一L?br /> *?abccba为回文,abcdab不是回文<br /></span><span style="color: #008000; ">*/</span><br /><br /><span style="color: #0000FF; ">int</span> Palindrome(<span style="color: #0000FF; ">const</span> <span style="color: #0000FF; ">char</span> *str)<br />{<br />    <span style="color: #0000FF; ">int</span> length = strlen(str);<br />    <span style="color: #0000FF; ">for</span>(<span style="color: #0000FF; ">int</span> i = 0; i <= length/2; i++)<br />    {<br />        <span style="color: #0000FF; ">if</span>(str[i] != str[length-i-1])<br />        {<br />            <span style="color: #0000FF; ">return</span> -1;<br />        }<br />    }<br />    <span style="color: #0000FF; ">return</span> 1;<br />}<br /><br /><span style="color: #0000FF; ">int</span> main()<br />{<br />    <span style="color: #0000FF; ">char</span> s[100];<br />    gets(s);<br />    <span style="color: #0000FF; ">int</span> result = Palindrome(s);<br />    <span style="color: #0000FF; ">if</span>(result == 1)<br />    {<br />        printf("字符串是回文");<br />    }<br />    <span style="color: #0000FF; ">else</span><br />    {<br />        printf("字符串不是回?);<br />    }<br />}<br /><br /><br /> </div><img src ="http://www.aygfsteel.com/zongbao/aggbug/385095.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/zongbao/" target="_blank">地心引力</a> 2012-08-08 23:40 <a href="http://www.aygfsteel.com/zongbao/archive/2012/08/08/385095.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>直接选择排序http://www.aygfsteel.com/zongbao/archive/2012/08/08/385094.html地心引力地心引力Wed, 08 Aug 2012 15:39:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/08/385094.htmlhttp://www.aygfsteel.com/zongbao/comments/385094.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/08/385094.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/385094.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/385094.htmlpackage com.xtfggef;

public class SelectSort {

    /**
     * 
@param args
     
*/
    public static void main(String[] args) {
        int[] data = new int[]{2,3,4,1,9,8};
        System.out.println("before sorted:");
        for(int k=0; k<data.length; k++){
            System.out.print(data[k]+" ");
        }
        System.out.println();
        int length = data.length;
        for(int i=0; i<length-1; i++){
            int flag = i;
            for(int j=i+1; j<length; j++){
                if(data[flag]>data[j]){
                    flag = j;
                }
            }
            if(flag!=i){
                int temp=0;
                temp=data[i];
                data[i]=data[flag];
                data[flag]=temp;
            }
        }
        System.out.println("after sorted:");
        for(int h=0; h<data.length; h++){
            System.out.print(data[h]+" ");
        }
        System.out.println();
    }

}

地心引力 2012-08-08 23:39 发表评论
]]>
Oracle学习Q单行函敎ͼhttp://www.aygfsteel.com/zongbao/archive/2012/08/01/384561.html地心引力地心引力Wed, 01 Aug 2012 14:05:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/01/384561.htmlhttp://www.aygfsteel.com/zongbao/comments/384561.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/01/384561.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/384561.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/384561.html一.单行函数介绍

---单行函数对单行操?/span>

---每行q回一个结?/span>

---有可能返回g原参数数据类型不一?转换函数)

---单行函数可以写在SELECT,WHERE,ORDER BY子句?/span>

---有些函数没有参数Q有些函数有一个或多个参数

---函数可以嵌套

分类Q?/span>字符函数Q数字函敎ͼ日期函数Q{换函敎ͼ通用函数


?字符函数

1.?/span>

定义Q?/span>主要指参数类型是字符型,不同函数q回值可能是字符或数字类?/span>

<1>.LOWERQ全写

       LOWER('SQL Course')——>sql course

<2>.UPPERQ全大写

       UPPER('SQL Course')——>SQL COURSE

<3>.INITCAPQ首字母大写

       INITCAP('SQL Course')——>Sql course

<4>.CONCATQ字W串q接

       CONCAT('Good','String')——>GoodString

<5>.SUBSTRQ字W串截取

       SUBSTR('String',1,3)——>Str

<6>.LENGTHQ返回字W串长度

       LENGTH('String')——>6

<7>.INSTRQ返回一个字W串在另一个字W串中的位置

       INSTR('String','r')——>3

<8>.LPADQ左填充

       LPAD(sal,10,'*')——>******5000

<9>.RPADQ右填充

        RPAD(sal,10,'*')——>5000******

<10>.TRIMQ去掉左右两Ҏ定字W?/span>

         TRIM('S' FROM 'SSMITH')——>MITH

<11>.REPLACE:替换字符?/span>

         REPLACE('abc','b','d')——>adc


?数字函数

<1>.ROUND:四舍五入函数

       ROUND(12.3)——>12

       ROUND(12.5)——>13

<2>.TRUNC:截断函数

       TRUNC(65.654,0)——>65

       TRUNC(65.654,-1)——>60

<3>.MOD:取余函数

       MOD(10,12)——>10

       MOD(7,12)——>7

       MOD(10,4)——>2


?日期函数

<1>.SYSDATE:q回pȝ日期

<2>.MONTHS_BETWEEN:q回两个日期间隔的月?/span>

       select months_between('02-2?06','02-2?06') from dual;

<3>.ADD_MONTHS:在指定日期基上加上相应的月数

       select add_months('02-2?06',8) from dual;

<4>.NEXT_DAY:q回某一日期的下一个指定日?/span>

       select next_day('1-2?12','星期一')  next_day from dual;

<5>.LAST_DAY:q回指定日期当月最后一天的日期

       select  last_day('1-2?12') last_day from dual;

<6>.ROUND(date[,'fmt'])Ҏ期进行指定格式的四舍五入操作Q按照YEAR、MONTH、DAY{进行四舍五?/span>

       SELECT  employee_id, hire_date, ROUND(hire_date, 'MONTH') FROM employees WHERE SUBSTR(hire_date,-2,2)='98';

<7>.TRUNC(date[,'fmt'])Ҏ期进行指定格式的截断操作。按?nbsp;YEAR、MONTH、DAY{进行截?/span>

       SELECT employee_id, hire_date, TRUNC(hire_date, 'MONTH') FROM employees WHERE SUBSTR(hire_date,-2,2)='98';

<8>.EXTRACTQ返回从日期cd中取出指定年、月、日

       SELECT  last_name, hire_date, EXTRACT (MONTH FROM HIRE_DATE) MONTH FROM   employees WHERE  department_id = 90;


?转换函数

---通常在字W类型、日期类型、数字类型之间进行显性{换?/span>


<1>.TO_CHAR(date|number|'fmt'):把日期类?数字cd的表辑ּ或列转换为字W类?/span>

--‘fmt’:指的是需要显C的格式Q需要写在单引号中,q且是大写敏感Q可包含M有效的日期格?/span>

常用日期格式Q?/span>

---YYYYQ?位数字表C年?                                           ---DY:星期的英文前三位字母

---YYQ两位数字年份,但是无世U{?                         ---DAY:星期的英文拼?/span>

---RRQ?位数字表C年份,有世U{?                          ---DQ数字表CZ星期的第几天Q星期天是一周的W一?/span>

---YEAR:q䆾的英文拼?                                                ---DDQ数字表CZ个月中的W几?/span>

---MMQ两位数字表C月?                                             ---DDDQ数字表CZq中的第几天

---MONTH:月䆾英文拼写                                                 ---AM或PMQ上下午表示

---HH 或HH12或HH24Q数字表C小?                           ---MIQ数字表C分?  

HH12代表12时计时,HH24代表24时计时                  ---SSQ数字表C秒Q?/span>

Ҏ格式Q?/span>

THQ显C数字表C的英文序数词,如:DDTH昄天数的序数词
SPQ显C数字表C的拼写
SPTHQ显C数字表C的序数词的拼写

           select to_char(sysdate,’ddspth’) from dual;

“字符?#8221;:如在格式中显C字W串Q需要两端加双引?br />           select to_char(sysdate,’dd “of” month ‘)  from dual;        


数字到字W型转换Q?/span>

q行数字cd到字W型转换Q格式中的宽度一定要过实际列宽度,否则会显CZؓ###

-- 9Q一位数?br />-- 0Q一位数字或?br />-- $Q显CZؓ元W?br />-- LQ显C按照区?br />--  .Q小数点
--  ,Q千位分割符 
        

select to_char(9832, '$9,999.00')  from  dual;      


<2>.TO_NUMBER(char[,’fmt’]): 把字W类型列或表辑ּ转换为数字类?/span>

       select to_number('9832', 9999)  from  dual;


<3>.TO_DATE(char[,‘fmt’]): 把字W类型列或表辑ּ转换为日期类?/span>

        select to_date('20120304', 'yy-mm-dd')  from  dual;


?通用函数

<1>NVL(表达?Q表辑ּ2)函数Q该函数功能是空D{换,把空D{换ؓ其他|解决I值问题。如果表辑ּ1为空Q则表达?是要{换成的倹{?/span>

注意Q数据格式可以是日期、字W、数字,?span style="color: #ff0000; ">数据cd必须匚w

      select nvl(null,1) from dual;
      select nvl(2,1) from dual;


<2>.NVL2(表达?, 表达?, 表达?)函数Q该函数是对W一个参数进行检查。如果第一个参C为空Q则输出W二个参敎ͼ如果W一个参CؓI,则输Z三个参数Q?span style="color: #cc0000; ">表达?可以ZQ何数据类?/span>?/span>

      select nvl2(null,1,2) from dual;
      select nvl2(3,1,2) from dual;


<3>.NULLIF(表达?Q表辑ּ2)函数Q该函数主要完成两个参数的比较。当两个参数不相{时Q返回值是W一个参数|当两个参数相{时Q返回值是I倹{?/span>

      select nullif(1,1) from dual;

      q回值是Q?img src="http://my.csdn.net/uploads/201208/01/1343792513_7008.png" alt="" style="border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; border-image: initial; " />不是null;
      select nullif(1,2) from dual; 


<4>.COALESCE(表达?, 表达?, ... 表达式n)函数Q该函数是对NVL函数的扩展。COALESCE函数功能是返回第一个不为空的参敎ͼ参数个数不受限制?/span>

      select coalesce(null,null,0,1) from dual;


<5>.CASE表达?/span>Q?/span>

SELECT last_name, commission_pct,
(CASE commission_pct
WHEN 0.1  THEN '?
WHEN 0.2  THEN '?
WHEN 0.3  THEN '?
ELSE '?
END)   Commission
FROM employees
WHERE commission_pct IS NOT NULL
ORDER BY last_name;


<6>.DECODE函数Q?/span>

DECODE(字段|表达? 条g1,l果1[,条g2,l果2…Q][,~省值])
 

 select last_name, commission_pct,decode( commission_pct,0.1,'?,0.2,'?,0.3 , '?,'?) commission 

   from employees where commission_pct is not null orderbylast_name;



地心引力 2012-08-01 22:05 发表评论
]]>
SQL-存储q程http://www.aygfsteel.com/zongbao/archive/2012/08/01/384560.html地心引力地心引力Wed, 01 Aug 2012 14:04:00 GMThttp://www.aygfsteel.com/zongbao/archive/2012/08/01/384560.htmlhttp://www.aygfsteel.com/zongbao/comments/384560.htmlhttp://www.aygfsteel.com/zongbao/archive/2012/08/01/384560.html#Feedback0http://www.aygfsteel.com/zongbao/comments/commentRss/384560.htmlhttp://www.aygfsteel.com/zongbao/services/trackbacks/384560.html刚开始学习存储过E的时候,把它想象成生活中把一些东西存储在某些地方Q需要的时候再把它取出来用。而在数据库学习和ȝ中,才发现存储过E是一U数据库对象Q是Z实现某个特定dQ将一l预~译的SQL语句以一个存储单元的形式存储在服务器上,供用戯用?/span>

 



地心引力 2012-08-01 22:04 发表评论
]]>
վ֩ģ壺 ƽ| ׳| պ| ζ| ɫ| | Ͳ| կ| | Ͻ| | | Ͳ| ƽ| | ӱʡ| ̨| | | | Ű| | ʡ| º| ľ| ƽ| | ߶| ĵ| ˳| | | | | | ʯ| Ͻ| | ̩| | ֣|