1.select to_timestamp('2003-10-24 10:48:45.656000','yyyy-mm-dd hh24:mi:ssxff') from dual;   
'yyyy-mm-dd hh24:mi:ssxff'格式?
2.数字格式化的设置为什么只能使用9开头,使用其他数字都会报:“ 非法的 FORMAT 字符串......”
SQL> set numformat 1000000000000000000000
SP2-0246: 非法的 FORMAT 字符串"1000000000000000000000"
SQL> set numformat 9999999999999999999;
SQL>
3.name char:='';--char未指定长度,默认为chr(1) 那么默认的numbe的长度是多少呢?
4.varchar2(20)与varchar2(20 char)的区别?
5.查看跟踪日志?告警日志?(windows和linux)
6.decimal(8,2)?
7.convert函数的用法?
8.在存储过程中,输出参数不初始化有没有影响? 
9.临时表空间有什么用?
10.解释下下面查询中的“Typ=13 Len=8: 218,7,5,5,10,48,25,0”含义
SQL> select dump(sysdate) from dual;
 
DUMP(SYSDATE)
--------------------------------------------------------------------------------
Typ=13 Len=8: 218,7,5,5,10,48,25,0望高手们帮忙解答!谢谢!
每题10分。

解决方案 »

  1.   


    1 的确是 格式   
    3 number不指定精度,默认是38 
    8  关键看 你的输入参数 在过程是是否有用到  如果没有用到 不影响的 
    9 查询时候 用于从放临时查询出来的数据的吧 比如子查询 表连接等(貌似是)
     
    其他的不确定  
      

  2.   

    1.select to_timestamp('2003-10-24 10:48:45.656000','yyyy-mm-dd hh24:mi:ssxff') from dual;  
    'yyyy-mm-dd hh24:mi:ssxff'格式?
    >>>>> 指的就是timestamp的格式描述.到微秒一级。
    2.数字格式化的设置为什么只能使用9开头,使用其他数字都会报:“ 非法的 FORMAT 字符串......”
    SQL> set numformat 1000000000000000000000
    SP2-0246: 非法的 FORMAT 字符串"1000000000000000000000"
    SQL> set numformat 9999999999999999999;
    SQL>
    >>>>>> 内部约定,记住就行了
    3.name char:='';--char未指定长度,默认为chr(1) 那么默认的numbe的长度是多少呢?
    >>>>>>38
    4.varchar2(20)与varchar2(20 char)的区别?
    >>>>>>
    varchar2(20) 等效于 varchar2(20 byte), 为20字节宽度限制
    varchar2(20 char)为20字符宽限制,如果是多字节字符,那么它的最大长度就不止20个字节宽了

    5.查看跟踪日志?告警日志?(windows和linux)
    >>>>>>
    alert log,位于$ORACLE_HOME/admin/<sid>/udump和bdump下边的trc文件。6.decimal(8,2)?
    >>>>>>
    有效数字最大8,小数2位,也就是说整数部分最大宽度为6。
    7.convert函数的用法?
    >>>>>>
    用于字符集转换,如将gbk字符串转换为PC850字符集
    SQL> select convert('abc中国', 'ZHS16GBK', 'WE8PC850') from dual;CONVERT('A
    ----------
    abcíe╣·8.在存储过程中,输出参数不初始化有没有影响? 
    >>>>>>不初始化可以,但是必须得有定义。
    9.临时表空间有什么用?
    >>>>>>用于排序,临时表,查询和存放一些缓冲区数据.10.解释下下面查询中的“Typ=13 Len=8: 218,7,5,5,10,48,25,0”含义
    SQL> select dump(sysdate) from dual;
     
    DUMP(SYSDATE)
    --------------------------------------------------------------------------------
    Typ=13 Len=8: 218,7,5,5,10,48,25,0
    >>>>>> 这个问题稍为复杂一点,稍看仔细一点。
    type = 13,表示,这是一个DATETIME类型(oracle内部定义的)
    总共8个字节。最末位为0,忽略。
    218,7 (两个字节),描述年份,拼起来16进制为:DA07,使用大端表示为:07DA,其10进制值刚好是2010,所以是2010年。为何用大端,因为网络字节序始终是以大端表示。
    5, 5月
    5, 5日
    10,10时
    48, 48分
    25, 25秒Oracle内部表示DATE类型的数据结构为:(供参考:)
    struct OCITime
    {
      ub1 OCITimeHH;                          /* hours; range is 0 <= hours <=23 */
      ub1 OCITimeMI;                     /* minutes; range is 0 <= minutes <= 59 */
      ub1 OCITimeSS;                     /* seconds; range is 0 <= seconds <= 59 */
    };
    typedef struct OCITime OCITime;/* 
     * OCITime - OCI TiMe portion of date
     *
     * This structure should be treated as an opaque structure as the format
     * of this structure may change. Use OCIDateGetTime/OCIDateSetTime 
     * to manipulate time portion of OCIDate.
     */struct OCIDate
    {
      sb2 OCIDateYYYY;         /* gregorian year; range is -4712 <= year <= 9999 */
      ub1 OCIDateMM;                          /* month; range is 1 <= month < 12 */
      ub1 OCIDateDD;                             /* day; range is 1 <= day <= 31 */
      OCITime OCIDateTime;                                               /* time */
    };
    typedef struct OCIDate OCIDate;
      

  3.   

    非常感谢iihero的热心回答!结贴了!