淘寶網(wǎng)開發(fā)人員數(shù)據(jù)庫知識手冊_第1頁
淘寶網(wǎng)開發(fā)人員數(shù)據(jù)庫知識手冊_第2頁
淘寶網(wǎng)開發(fā)人員數(shù)據(jù)庫知識手冊_第3頁
淘寶網(wǎng)開發(fā)人員數(shù)據(jù)庫知識手冊_第4頁
淘寶網(wǎng)開發(fā)人員數(shù)據(jù)庫知識手冊_第5頁
已閱讀5頁,還剩110頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、淘寶網(wǎng)開發(fā)人員數(shù)據(jù)庫知識參考手冊編寫、修訂、審核記錄編號文檔版本修訂章節(jié)修訂原因修訂日期修訂人11.0全文新建文檔2007-9-27勝通22.0補充文檔2008-1-6勝通345678910目錄 TOC o 1-6 h z u HYPERLINK l _Toc189822685 第一章 基本元素 PAGEREF _Toc189822685 h 6 HYPERLINK l _Toc189822686 第一節(jié) 數(shù)據(jù)類型 PAGEREF _Toc189822686 h 6 HYPERLINK l _Toc189822687 1.VARCHAR2(size): PAGEREF _Toc18982268

2、7 h 6 HYPERLINK l _Toc189822688 2.CHAR(size) PAGEREF _Toc189822688 h 6 HYPERLINK l _Toc189822689 3.LONG PAGEREF _Toc189822689 h 7 HYPERLINK l _Toc189822690 4.CLOB PAGEREF _Toc189822690 h 7 HYPERLINK l _Toc189822691 5.NUMBER(p,s) PAGEREF _Toc189822691 h 7 HYPERLINK l _Toc189822692 6.DATE PAGEREF _Toc

3、189822692 h 8 HYPERLINK l _Toc189822693 7.TIMESTAMP( factional_seconds_precision ) PAGEREF _Toc189822693 h 8 HYPERLINK l _Toc189822694 第二節(jié) NULL PAGEREF _Toc189822694 h 8 HYPERLINK l _Toc189822695 第三節(jié) 偽列 PAGEREF _Toc189822695 h 11 HYPERLINK l _Toc189822696 1.CURRVAL 和 NEXTVAL PAGEREF _Toc189822696 h

4、11 HYPERLINK l _Toc189822697 2.LEVEL PAGEREF _Toc189822697 h 12 HYPERLINK l _Toc189822698 3.ROWID PAGEREF _Toc189822698 h 12 HYPERLINK l _Toc189822699 4.ROWNUM PAGEREF _Toc189822699 h 13 HYPERLINK l _Toc189822700 5.XMLDATA PAGEREF _Toc189822700 h 15 HYPERLINK l _Toc189822701 第四節(jié) 注釋 PAGEREF _Toc18982

5、2701 h 15 HYPERLINK l _Toc189822702 第五節(jié) 數(shù)據(jù)庫的對象 PAGEREF _Toc189822702 h 16 HYPERLINK l _Toc189822703 1.模式對象 PAGEREF _Toc189822703 h 16 HYPERLINK l _Toc189822704 2.非模式對象 PAGEREF _Toc189822704 h 17 HYPERLINK l _Toc189822705 3.部分模式對象 PAGEREF _Toc189822705 h 17 HYPERLINK l _Toc189822706 第六節(jié) 格式模型 PAGEREF

6、_Toc189822706 h 17 HYPERLINK l _Toc189822707 1.時間格式 PAGEREF _Toc189822707 h 17 HYPERLINK l _Toc189822708 第七節(jié) 操作符 PAGEREF _Toc189822708 h 19 HYPERLINK l _Toc189822709 1.操作符列表 PAGEREF _Toc189822709 h 19 HYPERLINK l _Toc189822710 2.操作符優(yōu)先級 PAGEREF _Toc189822710 h 19 HYPERLINK l _Toc189822711 3.連接操作符 PAG

7、EREF _Toc189822711 h 19 HYPERLINK l _Toc189822712 4.集合操作符 PAGEREF _Toc189822712 h 19 HYPERLINK l _Toc189822713 第二章 表達式 PAGEREF _Toc189822713 h 19 HYPERLINK l _Toc189822714 第三章 條件 PAGEREF _Toc189822714 h 19 HYPERLINK l _Toc189822715 第一節(jié) 條件的優(yōu)先級 PAGEREF _Toc189822715 h 20 HYPERLINK l _Toc189822716 第二節(jié)

8、比較條件 PAGEREF _Toc189822716 h 21 HYPERLINK l _Toc189822717 第三節(jié) 邏輯條件 PAGEREF _Toc189822717 h 23 HYPERLINK l _Toc189822718 第四節(jié) 成員關系條件 PAGEREF _Toc189822718 h 23 HYPERLINK l _Toc189822719 第五節(jié) 范圍條件 PAGEREF _Toc189822719 h 23 HYPERLINK l _Toc189822720 第六節(jié) NULL條件 PAGEREF _Toc189822720 h 23 HYPERLINK l _Toc

9、189822721 第四章 函數(shù) PAGEREF _Toc189822721 h 23 HYPERLINK l _Toc189822722 第一節(jié) 單值函數(shù) PAGEREF _Toc189822722 h 23 HYPERLINK l _Toc189822723 1.數(shù)值型函數(shù) PAGEREF _Toc189822723 h 24 HYPERLINK l _Toc189822724 MOD PAGEREF _Toc189822724 h 24 HYPERLINK l _Toc189822725 ROUND PAGEREF _Toc189822725 h 24 HYPERLINK l _Toc1

10、89822726 TRUNC PAGEREF _Toc189822726 h 26 HYPERLINK l _Toc189822727 ABS PAGEREF _Toc189822727 h 26 HYPERLINK l _Toc189822728 ACOS PAGEREF _Toc189822728 h 26 HYPERLINK l _Toc189822729 ASIN PAGEREF _Toc189822729 h 27 HYPERLINK l _Toc189822730 ATAN PAGEREF _Toc189822730 h 27 HYPERLINK l _Toc189822731 A

11、TAN2 PAGEREF _Toc189822731 h 28 HYPERLINK l _Toc189822732 BIN_TO_NUM PAGEREF _Toc189822732 h 29 HYPERLINK l _Toc189822733 BITAND PAGEREF _Toc189822733 h 29 HYPERLINK l _Toc189822734 CEIL PAGEREF _Toc189822734 h 29 HYPERLINK l _Toc189822735 COS PAGEREF _Toc189822735 h 29 HYPERLINK l _Toc189822736 FLO

12、OR PAGEREF _Toc189822736 h 29 HYPERLINK l _Toc189822737 SIN PAGEREF _Toc189822737 h 29 HYPERLINK l _Toc189822738 SINH PAGEREF _Toc189822738 h 29 HYPERLINK l _Toc189822739 PAGEREF _Toc189822739 h 29 HYPERLINK l _Toc189822740 2.返回字符值的字符型函數(shù) PAGEREF _Toc189822740 h 29 HYPERLINK l _Toc189822741 LOWER PAG

13、EREF _Toc189822741 h 29 HYPERLINK l _Toc189822742 UPPER PAGEREF _Toc189822742 h 30 HYPERLINK l _Toc189822743 LPAD PAGEREF _Toc189822743 h 30 HYPERLINK l _Toc189822744 RPAD PAGEREF _Toc189822744 h 31 HYPERLINK l _Toc189822745 TRIM PAGEREF _Toc189822745 h 31 HYPERLINK l _Toc189822746 LTRIM PAGEREF _To

14、c189822746 h 32 HYPERLINK l _Toc189822747 RTRIM PAGEREF _Toc189822747 h 33 HYPERLINK l _Toc189822748 REPLACE PAGEREF _Toc189822748 h 33 HYPERLINK l _Toc189822749 SOUNDEX PAGEREF _Toc189822749 h 33 HYPERLINK l _Toc189822750 SUBSTR PAGEREF _Toc189822750 h 34 HYPERLINK l _Toc189822751 TRANSLATE PAGEREF

15、 _Toc189822751 h 35 HYPERLINK l _Toc189822752 PAGEREF _Toc189822752 h 36 HYPERLINK l _Toc189822753 3.返回數(shù)字值的字符型函數(shù) PAGEREF _Toc189822753 h 36 HYPERLINK l _Toc189822754 INSTR PAGEREF _Toc189822754 h 36 HYPERLINK l _Toc189822755 LENGTH PAGEREF _Toc189822755 h 37 HYPERLINK l _Toc189822756 PAGEREF _Toc189

16、822756 h 38 HYPERLINK l _Toc189822757 4.日期函數(shù) PAGEREF _Toc189822757 h 38 HYPERLINK l _Toc189822758 ADD_MONTHS PAGEREF _Toc189822758 h 38 HYPERLINK l _Toc189822759 CURRENT_DATE PAGEREF _Toc189822759 h 39 HYPERLINK l _Toc189822760 CURRENT_TIMESTAMP PAGEREF _Toc189822760 h 40 HYPERLINK l _Toc189822761 S

17、YSDATE PAGEREF _Toc189822761 h 40 HYPERLINK l _Toc189822762 SYSTIMESTAMP PAGEREF _Toc189822762 h 41 HYPERLINK l _Toc189822763 LAST_DAY PAGEREF _Toc189822763 h 42 HYPERLINK l _Toc189822764 NEXT_DAY PAGEREF _Toc189822764 h 42 HYPERLINK l _Toc189822765 MONTHS_BETWEEN PAGEREF _Toc189822765 h 43 HYPERLIN

18、K l _Toc189822766 ROUND PAGEREF _Toc189822766 h 43 HYPERLINK l _Toc189822767 TRUNC PAGEREF _Toc189822767 h 45 HYPERLINK l _Toc189822768 5.轉換函數(shù) PAGEREF _Toc189822768 h 45 HYPERLINK l _Toc189822769 TO_CHAR PAGEREF _Toc189822769 h 45 HYPERLINK l _Toc189822770 TO_DATE PAGEREF _Toc189822770 h 47 HYPERLIN

19、K l _Toc189822771 TO_NUMBER PAGEREF _Toc189822771 h 47 HYPERLINK l _Toc189822772 6.其他輔助函數(shù) PAGEREF _Toc189822772 h 48 HYPERLINK l _Toc189822773 DECODE PAGEREF _Toc189822773 h 48 HYPERLINK l _Toc189822774 GREATEST PAGEREF _Toc189822774 h 49 HYPERLINK l _Toc189822775 LEAST PAGEREF _Toc189822775 h 50 HY

20、PERLINK l _Toc189822776 NULLIF PAGEREF _Toc189822776 h 50 HYPERLINK l _Toc189822777 NVL PAGEREF _Toc189822777 h 50 HYPERLINK l _Toc189822778 NVL2 PAGEREF _Toc189822778 h 51 HYPERLINK l _Toc189822779 SYS_CONNECT_BY_PATH PAGEREF _Toc189822779 h 52 HYPERLINK l _Toc189822780 SYS_CONTEXT PAGEREF _Toc1898

21、22780 h 52 HYPERLINK l _Toc189822781 第二節(jié) 聚集函數(shù) PAGEREF _Toc189822781 h 52 HYPERLINK l _Toc189822782 AVG PAGEREF _Toc189822782 h 55 HYPERLINK l _Toc189822783 COUNT PAGEREF _Toc189822783 h 56 HYPERLINK l _Toc189822784 DENSE_RANK PAGEREF _Toc189822784 h 57 HYPERLINK l _Toc189822785 RANK PAGEREF _Toc1898

22、22785 h 57 HYPERLINK l _Toc189822786 FIRST PAGEREF _Toc189822786 h 58 HYPERLINK l _Toc189822787 LAST PAGEREF _Toc189822787 h 58 HYPERLINK l _Toc189822788 MAX PAGEREF _Toc189822788 h 58 HYPERLINK l _Toc189822789 MIN PAGEREF _Toc189822789 h 59 HYPERLINK l _Toc189822790 SUM PAGEREF _Toc189822790 h 60 H

23、YPERLINK l _Toc189822791 PAGEREF _Toc189822791 h 61 HYPERLINK l _Toc189822792 第三節(jié) 分析函數(shù) PAGEREF _Toc189822792 h 61 HYPERLINK l _Toc189822793 1.概述 PAGEREF _Toc189822793 h 61 HYPERLINK l _Toc189822794 2.工作機制 PAGEREF _Toc189822794 h 61 HYPERLINK l _Toc189822795 3.語法 PAGEREF _Toc189822795 h 62 HYPERLINK

24、l _Toc189822796 4.常用的分析函數(shù) PAGEREF _Toc189822796 h 65 HYPERLINK l _Toc189822797 AVG PAGEREF _Toc189822797 h 65 HYPERLINK l _Toc189822798 COUNT PAGEREF _Toc189822798 h 66 HYPERLINK l _Toc189822799 FIRST_VALUE PAGEREF _Toc189822799 h 67 HYPERLINK l _Toc189822800 LAST_VALUE PAGEREF _Toc189822800 h 68 HY

25、PERLINK l _Toc189822801 LAG PAGEREF _Toc189822801 h 68 HYPERLINK l _Toc189822802 LEAD PAGEREF _Toc189822802 h 69 HYPERLINK l _Toc189822803 MAX PAGEREF _Toc189822803 h 69 HYPERLINK l _Toc189822804 MIN PAGEREF _Toc189822804 h 70 HYPERLINK l _Toc189822805 DENSE_RANK PAGEREF _Toc189822805 h 70 HYPERLINK

26、 l _Toc189822806 RANK PAGEREF _Toc189822806 h 72 HYPERLINK l _Toc189822807 ROW_NUMBER PAGEREF _Toc189822807 h 72 HYPERLINK l _Toc189822808 SUM PAGEREF _Toc189822808 h 73 HYPERLINK l _Toc189822809 5.不太常用的分析函數(shù) PAGEREF _Toc189822809 h 74 HYPERLINK l _Toc189822810 6.常見問題 PAGEREF _Toc189822810 h 74 HYPER

27、LINK l _Toc189822811 計算動態(tài)累計問題 PAGEREF _Toc189822811 h 74 HYPERLINK l _Toc189822812 TOP-N問題 PAGEREF _Toc189822812 h 74 HYPERLINK l _Toc189822813 交叉查詢問題 PAGEREF _Toc189822813 h 74 HYPERLINK l _Toc189822814 移除重復值問題 PAGEREF _Toc189822814 h 74 HYPERLINK l _Toc189822815 第四節(jié) 對象引用函數(shù) PAGEREF _Toc189822815 h

28、74 HYPERLINK l _Toc189822816 第五節(jié) 函數(shù)列表(字母序) PAGEREF _Toc189822816 h 74 HYPERLINK l _Toc189822817 1.ABS PAGEREF _Toc189822817 h 74 HYPERLINK l _Toc189822818 2.ACOS PAGEREF _Toc189822818 h 74 HYPERLINK l _Toc189822819 3.ADD_MONTHS PAGEREF _Toc189822819 h 74 HYPERLINK l _Toc189822820 4.ASCII PAGEREF _To

29、c189822820 h 75 HYPERLINK l _Toc189822821 5.ASIN PAGEREF _Toc189822821 h 75 HYPERLINK l _Toc189822822 6.ATAN PAGEREF _Toc189822822 h 75 HYPERLINK l _Toc189822823 7.ATAN2 PAGEREF _Toc189822823 h 75 HYPERLINK l _Toc189822824 8.AVG PAGEREF _Toc189822824 h 76 HYPERLINK l _Toc189822825 9.BIN_TO_NUM PAGER

30、EF _Toc189822825 h 76 HYPERLINK l _Toc189822826 10.BINAND PAGEREF _Toc189822826 h 76 HYPERLINK l _Toc189822827 11.CHARTOROWID PAGEREF _Toc189822827 h 77 HYPERLINK l _Toc189822828 12.COUNT PAGEREF _Toc189822828 h 77 HYPERLINK l _Toc189822829 13.CURRENT_DATE PAGEREF _Toc189822829 h 77 HYPERLINK l _Toc

31、189822830 14.CURRENT_TIMESTAMP PAGEREF _Toc189822830 h 77 HYPERLINK l _Toc189822831 15.DECODE PAGEREF _Toc189822831 h 77 HYPERLINK l _Toc189822832 16.DENSE_RANK PAGEREF _Toc189822832 h 78 HYPERLINK l _Toc189822833 17.DUMP PAGEREF _Toc189822833 h 78 HYPERLINK l _Toc189822834 18.FIRST PAGEREF _Toc1898

32、22834 h 78 HYPERLINK l _Toc189822835 19.FIRST_VALUE PAGEREF _Toc189822835 h 78 HYPERLINK l _Toc189822836 20.FLOOR PAGEREF _Toc189822836 h 78 HYPERLINK l _Toc189822837 21.GREATEST PAGEREF _Toc189822837 h 78 HYPERLINK l _Toc189822838 22.GROUP_ID PAGEREF _Toc189822838 h 78 HYPERLINK l _Toc189822839 23.

33、GROUPING PAGEREF _Toc189822839 h 78 HYPERLINK l _Toc189822840 24.GROUPING_ID PAGEREF _Toc189822840 h 78 HYPERLINK l _Toc189822841 25.INSTR PAGEREF _Toc189822841 h 78 HYPERLINK l _Toc189822842 26.LAG PAGEREF _Toc189822842 h 78 HYPERLINK l _Toc189822843 27.LAST PAGEREF _Toc189822843 h 79 HYPERLINK l _

34、Toc189822844 28.LAST_DAY PAGEREF _Toc189822844 h 79 HYPERLINK l _Toc189822845 29.LAST_VALUE PAGEREF _Toc189822845 h 79 HYPERLINK l _Toc189822846 30.LEAD PAGEREF _Toc189822846 h 79 HYPERLINK l _Toc189822847 31.LEAST PAGEREF _Toc189822847 h 79 HYPERLINK l _Toc189822848 32.LENGTH PAGEREF _Toc189822848

35、h 79 HYPERLINK l _Toc189822849 33.LOWER PAGEREF _Toc189822849 h 79 HYPERLINK l _Toc189822850 34.LPAD PAGEREF _Toc189822850 h 79 HYPERLINK l _Toc189822851 35.MAX PAGEREF _Toc189822851 h 79 HYPERLINK l _Toc189822852 36.MIN PAGEREF _Toc189822852 h 80 HYPERLINK l _Toc189822853 37.MOD PAGEREF _Toc1898228

36、53 h 80 HYPERLINK l _Toc189822854 38.MONTHS_BETWEEN PAGEREF _Toc189822854 h 80 HYPERLINK l _Toc189822855 39.NEXT_DAY PAGEREF _Toc189822855 h 80 HYPERLINK l _Toc189822856 40.NULLIF PAGEREF _Toc189822856 h 80 HYPERLINK l _Toc189822857 41.NVL PAGEREF _Toc189822857 h 80 HYPERLINK l _Toc189822858 42.NVL2

37、 PAGEREF _Toc189822858 h 80 HYPERLINK l _Toc189822859 43.RANK PAGEREF _Toc189822859 h 80 HYPERLINK l _Toc189822860 44.REPLACE PAGEREF _Toc189822860 h 80 HYPERLINK l _Toc189822861 45.ROUND(date) PAGEREF _Toc189822861 h 81 HYPERLINK l _Toc189822862 46.ROUND(number) PAGEREF _Toc189822862 h 81 HYPERLINK

38、 l _Toc189822863 47.ROW_NUMBER PAGEREF _Toc189822863 h 81 HYPERLINK l _Toc189822864 48.RPAD PAGEREF _Toc189822864 h 81 HYPERLINK l _Toc189822865 49.RTRIM PAGEREF _Toc189822865 h 81 HYPERLINK l _Toc189822866 50.SOUNDEX PAGEREF _Toc189822866 h 81 HYPERLINK l _Toc189822867 51.SUBSTR PAGEREF _Toc1898228

39、67 h 81 HYPERLINK l _Toc189822868 52.SUM PAGEREF _Toc189822868 h 81 HYPERLINK l _Toc189822869 53.SYSDATE PAGEREF _Toc189822869 h 81 HYPERLINK l _Toc189822870 54.SYSTIMESTAMP PAGEREF _Toc189822870 h 82 HYPERLINK l _Toc189822871 55.TO_CHAR PAGEREF _Toc189822871 h 82 HYPERLINK l _Toc189822872 56.TO_DAT

40、E PAGEREF _Toc189822872 h 82 HYPERLINK l _Toc189822873 57.TO_NUMBER PAGEREF _Toc189822873 h 82 HYPERLINK l _Toc189822874 58.TRANSLATE PAGEREF _Toc189822874 h 82 HYPERLINK l _Toc189822875 59.TRIM PAGEREF _Toc189822875 h 82 HYPERLINK l _Toc189822876 60.TRUNC(number) PAGEREF _Toc189822876 h 82 HYPERLIN

41、K l _Toc189822877 61.TRUNC(date) PAGEREF _Toc189822877 h 82 HYPERLINK l _Toc189822878 62.UPPER PAGEREF _Toc189822878 h 82 HYPERLINK l _Toc189822879 第五章 后記 PAGEREF _Toc189822879 h 83基本元素 數(shù)據(jù)類型VARCHAR2(size):可變長度的字符串,最大size個字節(jié)。size最大可取值是4000,如果你指定了size是4000,然后插入超過4000子句的字符串,oracle會字段截取先進入庫的4000字節(jié),后面的它就

42、不管了。如果你知道的size沒有4000,而是其他一個數(shù)字如200,那么如果你插入的字符串超過200,oracle就會返回一個錯誤。size必須指定個正數(shù)。有關VARCHAR類型,它其實和VARCHAR2一樣,是它的同義詞。但是不宜指定VARCHAR作為數(shù)據(jù)類型,因為你不確定oracle哪天頭腦發(fā)熱,把VARCHAR的含義改掉了或者不支持它,那就完了。CHAR(size)固定長度的字符串,最大size個字節(jié)。如果你插入的字符串沒有size個字節(jié),那么oracle就會使用空白來填充它。size最大可取值是2000,如果你指定了size是2000,然后插入超過2000子句的字符串,oracle會字

43、段截取先進入庫的4000字節(jié),后面的它就不管了。如果你知道的size沒有2000,而是其他一個數(shù)字如200,那么如果你插入的字符串超過200,oracle就會返回一個錯誤。如果你不指定size,那么它的默認值就是1。LONG用于存儲字符串,最多可以存儲2G個字節(jié)的字符。LONG類型有很多的限制,已經(jīng)不被oracle推薦使用,大家最好不要用,會有一系列操作限制,導致一些隱形的問題。CLOB存儲字符串,即支持可變長度的,也支持固定長度的字符串,最大可支持到4G字節(jié)。NUMBER(p,s)oracle中唯一存儲數(shù)字的數(shù)據(jù)類型。最大最小值分別為9.99.999 10125(38個9后面跟了88個0,因

44、此它的數(shù)字精度就是38)和1.010-130。如果你使用的數(shù)字超過這個數(shù)字,那么oracle返回錯誤。p表示這個數(shù)字一共有多少個數(shù)字組成,范圍是從1到38。s就表示0右邊的精度有多少位,就小數(shù)是多少位,范圍是-84到127。p和s要么都不指定,就表示范圍是使用最大值,即p=38,s=127;要么就指定p,那么s=0;要么都必須同時指定。不存在只指定s不指定p的情況。下面給個例子,來詳細說明這個類型:下面正常情況下,s的值小于p的情況:實際數(shù)據(jù)指定的類型結果說明1234567.89NUMBER1234567.89沒有變化1234567.89NUMBER(9)1234567小數(shù)沒有了1234567

45、.89NUMBER(9,2)1234567.89沒有變化1234567.89NUMBER(9,1)1234567.9小數(shù)只有1位,四舍五入了1234567.89NUMBER(6)錯誤超過了最大數(shù)字精度范圍1234567.89NUMBER(7,-2)1234500s為負數(shù),則在0左邊截取1234567.89NUMBER(7,2)錯誤超過最大數(shù)字精度范圍7下面是“不正?!鼻闆r,s的值大于p的值的情況:實際數(shù)據(jù)指定的類型結果說明0.01234NUMBER(4,5)0.01234沒有變化0.00012NUMBER(4,5)0.00012沒有變化0.000127NUMBER(4,5)0.0013超過指定

46、小數(shù)位數(shù)的范圍了,四舍五入0.0000012NUMBER(2,7)0.0000012沒有變化0.00000123NUMBER(2,7)0.0000012超過指定小數(shù)位數(shù)的范圍了,四舍五入從上面的例子可以看到,s是表示小數(shù)點右邊的有多少個數(shù)字,即有多少為小數(shù),如果它為負值,那么就表示小數(shù)點左邊有多少位數(shù)字;當所指定的數(shù)字超過了這個s精度指定的訪問,那么oracle就執(zhí)行四舍五入。p表示的是一共有多少為有效數(shù)字,不能超過這個有效數(shù)字,超過了就返回相應的錯誤。DATE時間類型,oracle存儲時間的數(shù)據(jù)包括:世紀、年、月、日、時、分、秒??梢娝痪_到秒級別。往date類型你們插入數(shù)據(jù)要使用函數(shù)to

47、_date(),把date類型數(shù)據(jù)轉換為字符串類型數(shù)據(jù),要使用to_char()函數(shù)。有關日期的計算:可以對日期進行加、減計算,不能對其進行乘法和除法運算。指定一個數(shù)字,oracle對其附加天作為單位來和日期進行計算。如sysdate-1 就表示昨天,sysdate+1就表示明天, sysdate-7就表示一周以前,而sysdate-10/1440就表示10分鐘以前。TIMESTAMP( factional_seconds_precision )TIMESTAMP表示時間戳類型,就是一個時間點。oracle存儲的時間戳數(shù)據(jù)包括:年、月、日、時、分、秒??梢娝淮鎯κ兰o。對于faction_se

48、conds_precision,表示將秒精確到哪個級別,它的值是從0到9,默認是6,如果是3,就表示把秒精確到毫秒級別,9就表示精確到“納米”級別??磦€例子就明白了:SQL select to_char(systimestamp,yyyy-mm-dd,hh24:mi:ssxff) time from dual;TIME2007-09-19,11:20:41.035829存儲TIMESTAMP類型,要使用TO_TIMESTAMP()函數(shù),顯示TIMESTAMP類型數(shù)據(jù)要使用TO_CHAR()函數(shù),如例子中那樣。 NULLnull表示no value,unknown,它不表示0,也不表示一個空的字

49、符串。SQL函數(shù)中的NULL所有的函數(shù),除了REPLACE , NVL , CONCAT以外,如果你用null作為它的參數(shù),那么結果就是返回null。大部分的聚集函數(shù)如(COUNT,AVG),他們會忽略null,如一個列上面有10行記錄,其中2行是null,那么count這個列的結果就是8。例如在增加月份函數(shù)中使用null進行計算的情況:SQL select to_char(sysdate,yyyy-mm-dd) today from dual;TODAY2007-09-23SQL select to_char(add_months(sysdate,1),yyyy-mm-dd) another

50、_day from dual;ANOTHER_DA2007-10-23SQL select to_char(add_months(sysdate,null),yyyy-mm-dd) another_day from dual;ANOTHER_DA聚集函數(shù)的情況:22:11:28 SQL select empno,ename,comm from emp; EMPNO ENAME COMM 7369 SMITH 7499 ALLEN 300 7521 WARD 500 7566 JONES 7654 MARTIN 1400 7698 BLAKE 7782 CLARK 7788 SCOTT 7839

51、 KING 7844 TURNER 0 7876 ADAMS 7900 JAMES 7902 FORD 7934 MILLER已選擇14行。22:11:43 SQL select count(empno) from emp;COUNT(EMPNO) 1422:12:05 SQL select count(comm) from emp;COUNT(COMM) 4條件中的null。對NULL所進行的任何數(shù)學計算結果都是null,如10+null結果是null。oracle始終認為兩個null是不相等的(除了少數(shù)情況),不能用null=null這個條件來進行判斷兩個null是否相等,null不等于其

52、他的null,你只能用is null或者is not null來判斷某個記錄的某個字段是不是null。但是oracle在使用decode函數(shù)的時候,它認為兩個null是相等的。oracle還有一種情況也認為兩個不同的null是相等的,就是在一個復合鍵中,如果這兩個復合鍵值中非null部分是相等的,那么這兩個復合鍵值是相等的。下面給出null出現(xiàn)的條件表格:如果a是比較條件是那么結果是10a IS NULLFALSE10a IS NOT NULLTRUENULLa IS NULLTRUENULLa IS NOT NULLFALSE10a = NULLUNKNOWN(其實就是null)10a !=

53、 NULLUNKNOWNNULLa = NULLUNKNOWNNULLa != NULLUNKNOWNNULLa = 10UNKNOWNNULLa != 10UNKNOWN例如:SQL select empno,ename,comm from emp; EMPNO ENAME COMM 7369 SMITH 7499 ALLEN 300 7521 WARD 500 7566 JONES 7654 MARTIN 1400 7698 BLAKE 7782 CLARK 7788 SCOTT 7839 KING 7844 TURNER 0 7876 ADAMS 7900 JAMES 7902 FORD

54、 7934 MILLER已選擇14行。SQL select empno,ename,comm from emp where comm=null;未選定行SQL select empno,ename,comm from emp where comm null;未選定行SQL select empno,ename,comm from emp where comm is null; EMPNO ENAME COMM 7369 SMITH 7566 JONES 已選擇10行。SQL select empno,ename,comm from emp where comm is not null; EMP

55、NO ENAME COMM 7499 ALLEN 300 7521 WARD 500 7654 MARTIN 1400 7844 TURNER 0 偽列偽列就像是一個表的列,但卻不是,它不存儲在表中。你可以對偽列進行查詢,而卻不能進行增刪改。偽列包括下面幾類:CURRVAL 和 NEXTVAL這兩個偽列主要是用于訪問序列(sequence)的值。currval返回當前值,而nextval返回下一個值并且導致sequence一次值的增加。你只能通過下列的形式來訪問這兩個偽列:sequencename.CURRVALsequencename.NEXTVAL哪里可以使用sequence的值?查詢語句

56、的select部分,但不是在子句的select中,如select a from (select b from。),這個里面b就在查詢語句的子句的select中,可以使用sequence的位置(即使用currval和nextval的地方)是在a這個部位。insert語句的子句select部分中,如insert into t select a from。,就是在a這個位置。insert的value子句中,如insert into t values(a。),就是在a這個位置。update的set子句中,如UPDATE T set a。,就是在a這個位置。哪些情況對sequence值的使用有限制,即c

57、urrval和nextval不能使用的場合?DELETE,SELECT,UPDATE的子句,如delete from t where a in (select a ),這個a位置不能使用。在查詢視圖和物化視圖的語句中不能使用。包含DISTINCT關鍵字的查詢語句中不能使用。包含GROUP BY和ORDER BY子句的查詢語句中不能使用。集合操作中不是第一個select語句的語句中不能使用,如SELECT a. UNION ALL SELECT b .,這里b的位置不能使用,a位置能用。WHERE中的select子句,如SELECT . FROM . WHERE (SELECT a.)中a的位置

58、。在create table和alter table中,某個有default值的列上不能使用。check約束中不能使用。如何使用序列值?當你建立一個序列的時候,你會指定這個序列的第一個值和增加值,當你在第一次調用這個序列的時候,你不能使用sequencename.CURRVAL來訪問它的當前值,因為它還沒開始,而必須使用sequencename.NEXTVAL來讓它開始初始化第一個值,第一次使用這個時候返回的時候是序列的第一個值。之后在時候currval是返回序列的當前值,nextval返回序列的下一個值并且導致序列增加一個值。oracle對序列的增加只是一次性的,單向的,即它只增加,不能減少

59、,并且只能增加一次。下面給個簡單的例子:SQL create sequence seq_test start with 1 increment by 1 nomaxvalue; -創(chuàng)建序列,第一值1,每次增加1Sequence created.SQL select seq_test.currval from dual; -第一次必須通過nextval讓序列初始化select seq_test.currval from dual *ERROR at line 1:ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this ses

60、sionSQL select seq_test.nextval from dual;-第一次初始化序列,讓它得到第一值1 NEXTVAL 1SQL select seq_test.currval from dual;-當前值 CURRVAL 1SQL select seq_test.nextval from dual;-不是第一次,nextval返回下個值,并且序列增加1 NEXTVAL 2SQL select seq_test.currval from dual;-經(jīng)過nextval后,序列的確增加了 CURRVAL 2LEVELROWIDrowid顧名思義就是某條記錄在數(shù)據(jù)庫中的存儲地址,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論