`
rbible
  • 浏览: 52843 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle9i 常用问题五:内部函数204~280

阅读更多

204. 如何得到字符串的第一个字符的ASCII值? 

       ASCII(CHAR) 

       SELECT ASCII('ABCDE') FROM DUAL; 

       结果: 65 

205. 如何得到数值N指定的字符? 

       CHR(N) 

       SELECT CHR(68) FROM DUAL; 

       结果: D 

206. 如何连接两个字符串? 

       CONCAT(CHAR1,CHAR2) 

       SELECT CONCAT('ABC','DEFGH') FROM DUAL; 

       结果: 'ABCDEFGH' 

207. 如何将列中的数值代替为字符串? 

       DECODE(CHAR,N1,CHAR1,N2,CHAR2...) 

       SELECT DECODE(DAY,1,'SUN',2,'MON') FROM DUAL; 

208. INITCAP(CHAR) 

       将字符串CHAR的第一个字符为大写,其余为小写。 

       SELECT INITCAP('ABCDE') FROM DUAL; 

209. LENGTH(CHAR) 

       取一字符串CHAR的长度。 

       SELECT LENGTH('ABCDE') FROM DUAL; 

210. LOWER(CHAR) 

       将字符串CHAR全部变为小写。 

       SELECT LOWER('ABCDE') FROM DUAL; 

211. LPAD(CHAR1,N,CHAR2) 

       用字符串CHAR2包括的字符左填CHAR1,使其长度为N。 

       SELECT LPAD('ABCDEFG',10'123') FROM DUAL; 

       结果: '123ABCDEFG' 

212. LTRIM(CHAR,SET) 

       从字符串CHAR的左边移去字符串SET中的字符,直到第一个不是SET中的字符为止。 

       SELECT ('CDEFG','CD') FROM DUAL; 

       结果: 'EFG' 

213. NLS_INITCAP(CHAR) 

       取字符CHAR的第一个字符大写,其余字符为小写。 

       SELECT NLS_INITCAP('ABCDE') FROM DUAL; 

214. NLS_LOWER(CHAR) 

       将字符串CHAR包括的字符全部小写。 

       SELECT NLS_LOWER('AAAA') FROM DUAL; 

215. NLS_UPPER(CHAR) 

       将字符串CHAR包括的字符全部大写。 

       SELECT NLS_UPPER('AAAA') FROM DUAL; 

216. REPLACE(CHAR1,CHAR2,CHAR3) 

       用字符串CHAR3代替每一个列值为CHAR2的列,其结果放在CHAR1中。 

       SELECT REPLACE(EMP_NO,'123','456') FROM DUAL; 

217. RPAD(CHAR1,N,CHAR2) 

       用字符串CHAR2右填字符串CHAR1,使其长度为N。 

       SELECT RPAD('234',8,'0') FROM DUAL; 

218. RTRIM(CHAR,SET) 

       移去字符串CHAR右边的字符串SET中的字符,直到最后一个不是SET中的字符为止。 

       SELECT RTRIM('ABCDE','DE') FROM DUAL; 

219. SUBSTR(CHAR,M,N) 

       得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为一个字符的。 

       SELECT SUBSTR('ABCDE',2,3) FROM DUAL; 

220. SUBSTRB(CHAR,M,N) 

       得到字符串CHAR从M处开始的N个字符. 双字节字符,一个汉字为二个字符的。 

       SELECT SUBSTRB('ABCDE',2,3) FROM DUAL; 

221. TRANSLATE(CHAR1,CHAR2,CHAR3) 

       将CHAR1中的CHAR2的部分用CHAR3代替。 

       SELECT TRANSLATE('ABCDEFGH','DE','MN') FROM  DUAL; 

222. UPPER(CHAR) 

       将字符串CHAR全部为大写。 

223. ADD_MONTHS(D,N) 

       将N个月增加到D日期。 

       SELECT ADD_MONTHS(SYSDATE,5) FROM DUAL; 

224. LAST_DAY(D) 

       得到包含D日期的月份的最后的一天的日期。 

       SELECT LAST_DAY(SYSDATE) FROM DUAL; 

225. MONTH_BETWEEN(D1,D2) 

       得到两个日期之间的月数。 

       SELECT MONTH_BETWEEN(D1,D2) FROM DUAL; 

226. NEXT_DAY(D,CHAR) 

       得到比日期D晚的由CHAR命名的第一个周日的日期。 

       SELECT NEXT_DAY(TO_DATE('2003/09/20'),'SATDAY') FROM DUAL; 

227. ROUNT(D,FMT) 

       得到按指定的模式FMT舍入到的最进的日期。 

       SELECT ROUNT('2003/09/20',MONTH) FROM DUAL; 

228. SYSDATE 

       得到当前系统的日期和时间。 

       SELECT SYSDATE FROM DUAL; 

229. TO_CHAR(D,FMT) 

       将日期D转换为FMT的字符串。 

       SELECT TO_CHAR(SYSDATE,'YYYY/MM/DD') FROM DUAL; 

230. TO_DATE(CHAR,FMT) 

       将字符串CHAR按FMT的格式转换为日期。 

       SELECT TO_DATE('2003/09/20','YYYY/MM/DD') FROM DUAL; 

231. ABS(N) 

       得到N的绝对值。 

       SELECT ABS(-6) FROM DUAL; 

232. CEIL(N) 

       得到大于或等于N的最大整数。 

       SELECT CEIL(5.6) FROM DUAL; 

233. COS(N) 

       得到N的余弦值。 

       SELECT COS(1) FROM DUAL; 

234. SIN(N) 

       得到N的正弦值。 

       SELECT SIN(1) FROM DUAL; 

235. COSH(N) 

       得到N的双曲余弦值。 

       SELECT COSH(1) FROM DUAL; 

236. EXP(N) 

       得到N的E的N次幂。 

       SELECT EXP(1) FROM DUAL; 

237. FLOOR(N) 

       得到小于或等于N的最小整数。 

       SELECT FLOOR(5.6) FROM DUAL; 

238. LN(N) 

       得到N的自然对数。 

       SELECT LN(1) FROM DUAL; 

239. LOG(M,N) 

       得到以M为底N的对数。 

       SELECT LOG(2,8) FROM DUAL; 

240. MOD(M,N) 

       得到M除以N的余数。 

       SELECT MOD(100,7) FROM DUAL; 

241. POWER(M,N) 

       得到M的N幂。 

       SELECT POWER(4,3) FROM DUAL; 

242. ROUND(N,M) 

       将N舍入到小数点后M位。 

      SELECT (78.87653,2) FROM DUAL; 

243. SIGN(N) 

       当N<0时,得到-1; 

       当N>0时,得到1; 

      当N=0时,得到0; 

       SELECT SIGN(99) FROM DUAL; 

244. SINH(N) 

       得到N的双曲正弦值。 

       SELECT SINH(1) FROM DUAL; 

245. SORT(N) 

       得到N的平方根,N>=0 

       SELECT SORT(9) FROM DUAL; 

246. TAN(N) 

       得到N的正切值。 

       SELECT TAN(0) FROM DUAL; 

247. TANH(N) 

       得到N的双曲正切值。 

       SELECT TANH(0) FROM DUAL; 

248. TRUNC(N,M) 

       得到在M位截断的N的值。 

       SELECT TRUNC(7.7788,2) FROM DUAL; 

249. COUNT() 

       计算满足条件的记录数。 

       SELECT COUNT(*) FROM TABLE1 WHERE COL1='AAA'; 

250. MAX() 

       对指定的列求最大值。 

       SELECT MAX(COL1) FROM TABLE1; 

251. MIN() 

       对指定的列求最小值。 

       SELECT MIN(COL1) FROM TABLE1; 

252. AVG() 

       对指定的列求平均值。 

       SELECT AVG(COL1) FROM TABLE1; 

253. SUM() 

       计算列的和。 

       SELECT SUM(COL1) FROM DUAL; 

254. TO_NUMBER(CHAR) 

       将字符转换为数值。 

       SELECT TO_NUMBER('999') FROM DUAL; 

255. CHARTOROWID(CHAR) 

      将包含外部语法ROWID的CHAR或VARCHAR2数值转换为内部的二进制语法,参数CHAR必须是包含外部语法的ROWID的18字符的字符串。 

      SELECT NAME FROM BSEMPMS WHERE ROWID=CHARTOROWID('AAAAfZAABAAACp8AAO'); 

      NAME :  LEIXUE 

256. CONVERT(CHAR,DEST_CHAR_SET,SOURCE_CHAR_SET) 

      CONVERT将字符串CHAR中的字符从SOURCE_CHAR_SET标识的字符集转换为由DEST_CHAR_SET标识的字符集 

      SELECT CONVERT('GroB','US7ASCII','WE8HP') 'CONVERSION' FROM PUBS; 

      CONVERSION:  Gross 

257. HEXTORAW(CHAR) 

      将包含十六进制的CHAR转换为一个RAW数值。 

      INSERT INTO BSEMPMS(RAW_COLUMN) SELECT HEXTORAW('7D') FROM TEST; 

258. RAWTOHEX(RAW) 

      将RAW数值转换为一个包含十六进制的CHAR值。 

      SELECT RAWTOHEX(RAW_COLUMN) 'CONVERSION' FROM BSEMPMS; 

      CONVERSION:  7D 

259. ROWIDTOCHAR(ROWID) 

      将一个ROWID数值转换为VARCHAR2数据类型。 

      SELECT ROWID FROM BSEMPMS WHERE ROWIDTOCHAR(ROWID) LIKE '%BR1AAB%'; 

260. TO_MULTI_BYTE(CHAR) 

      将CHAR中的单字节转换为等价的多字节字符。 

      SELECT TO_MULTI_BYTE('ASFDFD') FROM TEST; 

261. TO_SINGLE_BYTE(CHAR) 

      将CHAR中的多字节转换为等价的单字节字符。 

      SELECT TO_SINGLE_BYTE('ASFDFD') FROM TEST; 

262. TRANSLATE USING(TEXT USING {CHAR_CS|NCHAR_CS}) 

      将文本TEXT按照指定的转换方式转换成数据库字符集和民族字符集。 

      其中TEXT是待转换的。 

      USING CHAR_CS参数转换TEXT为数据库字符集,输出数据类型是VARCHAR2。 

      USING NCHAR_CS参数转换TEXT为数据库字符集,输出数据类型是NVARCHAR2。 

      CREATE TABLE TEST(CHAR_COL CHAR(20),NCHAR_COL NCHAR(20)); 

      INSERT INTO TEST VALUES('HI,N'BYE'); 

      SELECT * FROM TEST; 

   263. DUMP(EXPR,RETURN_FORMAT,START_POSITION,LENGTH) 

      返回一个包含数据类型代码,字节长度等内部表示信息的VARCHAR2值.返回结果是当前数据库字符集,数据类型按照下面规定的内部数据类型的编码作为一个数字进行返回: 

        代码       数据类型 

        0          VARCHAR2 

        1          NUMBER 

        8          LONG 

        12         DATE 

        23         RAW 

        24         LONG RAW 

        69         ROWID 

        96         CHAR 

       106        MSSLABEL 

      参数RETUEN_FORMAT指定按照下面的基数表示返回的数值。 

        RETURN_FORMAT   RESULT 

           8              8进制 

           10             10进制 

           16             16进制 

           17             单字符表示 

      如果参数RETURN_FORMAT没有指定,则按十进制表示返回。 

      如果参数START_POSITION和LENGTH被指定,则从START_POSITION开始的长为LENGTH的字节将被返回,缺省是返回整数表示。 

      SELECT DUMP('ABC',1016) FROM TEST; 

      select dump(ename,8,3,2) 'example' from emp where name='ccbzzp'; 

264. empty_b|clob() 

      返回一个空的LOB定位符,用在初始化LOB变量,或用在INSERT及UPDATE声明去初始化LOB列或将其属性置为空。 

      INSERT INTO TABLE1 VALUES(EMPTY_BLOB()); 

      UPDATE TABLE1 SET CLOB_COL=EMPTY_BLOB(); 

265. BFILENAME('DIRECTORY','FILENAME') 

      返回一个BFILE定位符,相关的二进制LOB物理文件在服务器的文件系统上.目录DIRECTORY是指在服务器的文件系统上实际搜索路径全名的别名. FILENAME是指服务器的文件系统的文件名。 

      INSERT INTO FILE_TAB VALUES(BFILENAME('LOB_DIR','IMAGE1.GIF')); 

    

266. GREATEST(EXPR,EXPR,...) 

      GREATEST返回参数的最大值。 

      SELECT GREATEST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1; 

267. LEAST(EXPR,EXPR,...) 

      LEAST返回参数的最小值。 

      SELECT LEAST('HARRY','HARRIOT','HAROLD') 'SAMPLE' FROM TABLE1;   

268. NLS_CHARSET_DECL_LEN(BYTECNT,CSID) 

      返回一个NCHAR列的宽度。 

      SELECT NLS_CHARSET_DECL_LEN(200,NLS_CHARSET_ID('JA16EEFDFDF')) FROM TABLE1; 

269. NLS_CHARSET_ID(TEXT) 

      返回相应于NLS字符集名字的NLS字符集ID数。 

      SELECT NLS_CHARSET_D('JADFDFFDF') FROM TABLE1; 

270. NLS_CHARSET_NAME(N) 

      返回相应于ID数N的NLS字符集名称。 

      SELECT NLS_CHARSET_NAME(2) FROM TABLE1; 

271. NVL(EXPR1,EXPR2) 

      若EXPR1是NULL,则返回EXPR2,否则返回EXPR1。 

      SELECT NAME,NVL(TO_CHAR(COMM),'NOT APPLICATION') FROM TABLE1; 

272. UID 

      返回唯一标识当前数据库用户的整数。 

      SELECT UID FROM TABLE1; 

273. USER 

      用VARCHAR2数据类型返回当前ORACLE用户的名称。 

      SELECT USER,UID FROM TABLE1; 

274. USERENV(OPTION) 

      返回当前的会话信息。 

      OPTION='ISDBA'若当前是DBA角色,则为TRUE,否则FALSE。 

      OPTION='LANGUAGE'返回数据库的字符集。 

      OPTION='SESSIONID'为当前会话标识符。 

      OPTION='ENTRYID'返回可审计的会话标识符。 

      OPTION='LANG'返回会话语言名称的ISO简记。 

      OPTION='INSTANCE'返回当前的实例。 

      SELECT USERENV('LANGUAGE') FROM DUAL; 

275. VSIZE(EXPR) 

      返回EXPR内部表示的字节数。 

      SELECT NAME,VSIZE(NAME) FROM TABLE1; 

276. DEREF(E) 

      返回参数E的对象引用。 

      SELECT DEREF(C2) FROM TABLE1; 

277. REFTOHEX(R) 

      将参数R转换为16进制。 

      SELECT REFTOHEX(C2) FROM TABLE1; 

278. MAKE_REF(TABLE,KEY,KEY...) 

      通过把给定的键作为主键来创建给定视图对象中一行的引用。 

      CREATE TYPE T1 AS OBJECT(A NUMBER,B NUMBER); 

      CREATE TABLE TB1(C1 NUMBER,C2 NUMBER,PRIMARY KEY(C1,C2)); 

      CREATE VIEW V1 OF T1 WITH OBJECT OID(A,B) AS SELECT * FROM TB1; 

      SELECT MAKE_REF(V1,1,3) FROM PUBS; 

279. STDDEV(DISTINCT|ALL X) 

      STDDEV给出一组行值的标准差。 

      SELECT STDDEV(SALARY) AS EXAMPLE FROM EMPLOYEE; 

280. VARIANCE(DISTINCT|ALL X) 

      VARIANCE返回一组行中所有VALUE的方差。 

      SELECT VARIANCE(SALARY) AS EXAMPLE FROM EMPLOYEE; 

分享到:
评论

相关推荐

    Oracle9i实验的答案:作为Oracle9i实验指导书的详细答案

    Oracle9i是一款经典的数据库管理系统,由甲骨文公司(Oracle Corporation)开发,广泛应用于企业级数据存储和管理。本解答将深入探讨Oracle9i实验的相关知识点,帮助读者理解和掌握其核心功能。 一、数据库安装与...

    Oracle9i/10g:SQL入门

    Oracle9i和10g是Oracle数据库系统的两个重要版本,SQL(Structured Query Language)作为数据库管理的核心语言,是学习和掌握这两个系统的基础。本电子图书《Oracle9i/10g:SQL入门》旨在帮助初学者快速理解并应用SQL...

    Oracle9i函数大全

    Oracle9i函数大全是一份详尽的文档,涵盖了在Oracle9i数据库中广泛使用的各种函数。这些函数在数据库管理和开发中扮演着至关重要的角色,帮助用户处理和操作数据。以下是一些关键函数的详细说明: 1. **ASCII()**:...

    oracle 9i 分析函数参考手册.rar

    Oracle 9i 分析函数是数据库查询中一种强大的工具,它们允许在单个查询中对一组行进行聚合操作,同时保留原始行的细节。在Oracle数据库系统中,分析函数为数据分析师和数据库管理员提供了深入洞察数据的能力,尤其在...

    Oracle9i实验指导书:本指导书对初学者有用

    Oracle9i实验指导书是为初次接触Oracle数据库系统的学习者设计的一份详尽教程,旨在帮助读者快速理解和掌握Oracle9i的基本操作与管理。Oracle9i是Oracle公司推出的第九个版本的数据库管理系统,它在数据存储、性能...

    Oracle9i分析函数参考手册

    Oracle9i分析函数是数据库管理中的一个重要工具,它在8.1.6版本开始引入,为数据处理提供了更高级的功能。分析函数与聚合函数的区别在于,聚合函数如SUM、COUNT等,它们对一组数据进行计算后只返回一行结果,而分析...

    oracle 9i 实现wm_concat函数

    oracle 9i 实现wm_concat函数 进行一列多行合并,之间使用,分割

    Oracle 9i Web开发指南

    Oracle 9i Web开发指南是针对使用Oracle 9i数据库进行Web应用程序开发的专业参考资料。这一版本的Oracle数据库在Web开发领域提供了丰富的特性和工具,旨在帮助开发者构建高效、可扩展且安全的网络应用。以下是对...

    Oracle9i关系数据库实用教程

    第八章 Oracle9i常用工具:讲解SQL*Plus、企业管理器(EM)、数据泵(Data Pump)等工具的使用,帮助用户更高效地管理数据库。 第九章 Oracle的性能优化:深入分析影响数据库性能的因素,如索引优化、查询优化、表...

    Oracle 9i 参考手册

    "游侠下载站使用说明.txt"可能是对获取和安装Oracle 9i的辅助指南,而"Oracle(CHM)"可能是一个包含Oracle 9i详细技术文档的离线帮助文件,用户可以通过查阅这个文件来学习和解决具体问题。 总的来说,Oracle 9i参考...

    oracle9i全套资料

    这部分资料详细阐述了如何在不同的操作系统环境下搭建Oracle9i的运行环境,包括硬件和软件需求、安装前的准备、安装过程、配置步骤以及可能出现的问题和解决方案。通过这部分的学习,读者能够了解到数据库服务器的...

    Introduction To ORACLE9i:SQL3

    《Oracle9i: SQL3入门指南》一书深入探讨了Oracle9i数据库系统中的SQL语言高级应用,旨在为读者提供全面、深入的SQL知识体系,适用于Oracle认证专业人员(OCP)的学习与备考。以下是对该书籍核心知识点的详细解析: ...

    oracle9i精简版本(客户端)

    Oracle9i精简版客户端是Oracle公司为用户提供的一款轻量级数据库访问工具,主要针对那些只需要进行基本数据库操作,如查询、数据管理以及简单的应用程序开发的用户。这个版本相较于完整版,减少了不必要的组件和服务...

    Oracle 9i初学者指南

    Oracle 9i初学者指南是一本专为对数据库管理感兴趣的初学者设计的教程,它涵盖了Oracle 9i数据库系统的基础知识、安装配置、管理和维护等多个重要方面。Oracle 9i是Oracle公司推出的一个重要版本,引入了许多创新...

    oracle9i数据库课件

    "第4章 Oracle9i数据库的体系结构.ppt"将介绍Oracle9i的内部工作原理,包括内存结构(SGA和PGA)、后台进程、数据块和段的概念,以及数据库的物理和逻辑结构。 "第9章 Oracle9i数据库的完整性和并发控制(1).ppt"则...

    Oracle9i数据库管理讲座.rar_oracle_oracle 9_oracle9i_数据库管理

    这个“Oracle9i数据库管理讲座”资源可能包含了关于如何管理和优化这个数据库系统的详细讲解。下面,我们将深入探讨Oracle 9i的一些核心知识点。 1. **Oracle 9i概述**:Oracle 9i全称为Oracle Database 9.0.x,它...

    Oracle9i: Program with PL/SQL 学生指导

    通过学习《Oracle9i: Program with PL/SQL 学生指导》,读者不仅能够掌握PL/SQL的基本语法和编程技巧,还能深入了解如何利用这种强大工具解决实际问题。无论是对于想要从事数据库开发工作的学生来说,还是对于已经有...

Global site tag (gtag.js) - Google Analytics