Oracle 物件的命名限制
任何物件的名稱不得超過 30 位元(Bytes)
Oracle 的 dummy query 寫法
SELECT SYSDATE FROM dual
Oracle 選取部分資料的方法
SELECT * FROM table WHERE ROWNUM<10; /* 取出前 10 筆 */
實現 Oracle 上的分頁顯示 [精華]
Oracle 轉換成數值的方法
to_number('<string>')
to_number(null) => 0
Oracle 日期欄位轉字串的方法
TO_CHAR(<date>, '<format>')
http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html
範例:
SELECT TO_CHAR(b, 'YYYY/MM/DD') AS b FROM x;
Oracle 字串轉日期欄位的方法 ( Oracle 寫入日期的方法 )
TO_DATE(<string>, '<format>')
範例:
TO_DATE('2006/8/29', 'YYYY/MM/DD')
Oracle 取得目前時間的作法
SYSDATE
Oracle 針對日期操作的方法
比對 DATE 欄位時,可以使用標準的數值比對運算元,例如:=, !=, >, 等等。
你可以針對 DATE 欄位直接所相減的動作,結果會回傳 FLOAT 格式,其數值是兩個日期的天數。一般來說,相減後的數值結果會有小數點,因為 DATE 欄位格式包含「時間」的成分。因此,兩個日期欄位的「相加」、「相乘」、「相除」都是不允許的!
但是,日期(DATE)欄位可以跟「數值」欄位「相加」或「相減」,其「數值」所代表的意義是「相差的天數」,所以 SYSDATE + 1 的意思就是「明天」的意思。但日期欄位不能跟數值欄位「相乘」或「相除」。
日期欄位可以透過 TO_CHAR 函數的轉換變成「純字串」,這樣一來就可以用「字串函數」比對日期的格式了。例如:to_char(<date>, 'DD-MON-YY') like '%JUN%' 就可以比對出該日期是否在「六月(JUN)」。
2009-10-14 更新:這裡有一篇完整的日期操作文章: Oracle時間日期操作
建立 TRIGGER 指令注意事項
SQL 語法的最後面一定要加上分號(;)結尾
ASP 開發注意事項
透過 ASP 執行 SQL 不能有「分號 ( ; )」結尾
取出所有 Oracle 的 Data Dictionary
SELECT * FROM DICTIONARY
Select * From dictionary Where TABLE_NAME LIKE 'ALL_%'
Select * From dictionary Where TABLE_NAME LIKE 'DBA_%'
Select * From dictionary Where TABLE_NAME LIKE 'USER_%'
取出所有表格的欄位定義 ( Columns of user's tables, views and clusters )
SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME LIKE '%FORUM%'
SELECT * FROM USER_TAB_COLUMNS
取得所有 SEQUENCE
select * from USER_SEQUENCES
取得所有 VIEWS
select * from USER_VIEWS
取得所有 INDEXES
SELECT * FROM USER_INDEXES