日期:2014-05-16  浏览次数:21417 次

散分(求PL/SQL下,创建表空间等经典SQL语句)
初学PL/SQL
求一些基础的、常用的SQL语句

------解决方案--------------------
√ 经典SQL语句收集
http://topic.csdn.net/u/20090302/13/1f448418-a3e3-41a9-9788-be03872471bb.html?46059
------解决方案--------------------
GOOGLE,BAIDU一下都可以找到的
------解决方案--------------------
Oracle命令全集
第一章:日志管理
第二章:表空间管理
第三章:表
第四章:索引
第五章:约束
第六章:LOAD数据
第七章:reorganizing data
第八章: managing password security and resources
第九章:Managing users
第十章:managing privileges
第十一章: manager role
第十二章: BACKUP and RECOVERYOracle命令全集
第一章:日志管理

参考
http://www.inthirties.com/?p=26

------解决方案--------------------
1.求字持串的长度LENGTH
您可用LENGTH函数求字符串的长度。LENGTH返回一个数值。该值等于参数中的字符个数。
例:使用LENGTH函数
SQL>select Last_Name, length(Last_Name) from customer order by LastName;

2.使用SUBSTR函数从字符串中提取子串
语法:
SUBSTR函数的语法如下:
SUBSTR(string, string charcter, number of charcters)
变量定义如下:
string为字符列或字符串表达式
  string charcter为子串的起始位置
  number of charcters为返回字符的个数c
例:说明了怎样使用SUBSTR函数取得教师的姓的前四个字符
SQL>select last_Name, substr(Last_Name, 1, 4) from instector order by Last_Name
例:在SUBSTR函数中使用LENGTH函数(取后三个字符)
5Qt.>select last_Name, substr(Last_Name, Length(Last_Name) - 2, 3) from instector order by Last_Name

3.在字符串中查找模式
例:使用LIKE运算符
SQL>column description format a40 word_wrapped
SQL>column title format a35
SQL>select Title, Description from Course where Description like '%thory%' or Description like '%theories%';

4.替换字符串的一部分
经常遇到的数据操纵任务是在特定的列中将数据由一种模式转换成另一种模式。
假设您希望在Course表中改变课程说明,将说明中的字seminar用字discussion替代.那么您可用oracle提供的函数REPLACE,该函数使得某列的字符串能被另一字符串代替。
语法:
REPLACE函数的语法如下:
REPLACE(string, existion_string, [replacement_string])
变量定义如下:
string为字符表达式c
existion_string为已存在的字符串。
replacement_string为用来替代的可选字符串。
例:使用REPLACE函数
  显示了在Course表中如何使用REPLACE来改变课程名称(title):首先使用查询显示当前课程名称,UPDATE语句中使用REPLACE函数将SEMINAR改变成DISCUSSION,另一查询显示了UPDATE语句的效果。
SQL>update Course set Title = replace(Title, 'SEMINAR', "DISCUSSION');
注:如果在REPLACE函数中您没有指明用什么字符串去替代,则列中的原字符串将被删除。

5.删除字符串的空格
  如果字符串列中包含前导或尾部空格,按某指定值对列进行查询,很可能返回错误结果。
LTRIM和RTRIM。

6.LPAD左填充函数
使用LPAD对字符串进行左填充。
语法:
LPAD(string, n, pad_string);
变量定义如下:
  string为需左填充的字符串直接值或字符申列。
  n为LPAD返回的字符串长度。
  pad_string为左填充到string的字符串。
  SQL>select lpad(my_col, 20) from test_trim;
  使用LENGTH函数人微言轻LPAD函数的参数:
  SQL>select lpad(my_col, length(my_col) + 8, 'you say') from test_trim;

7.改变字符串的大小写
  oracle提供了三个改变字符串大小写的函数:
  INITCAP转换每个字的第一个字符为大写
  LOWER转换所有字符为小写
  UPPER转换所有字符为人写

8.使用DECODE函数(值转换函数)转换字符串
语法
DECODE的语法是:
DECODE(expression, value1, returned_value1, ... valueN, returned_valueN, [default_returned_value]
变量定义如下:
  Dexpression为合法的oracle表达式。
  valueN为此expression可能取的值:
  returned_valueN为expression等于valueN时DECODE的返回值。
  default_returned_value为可选项,它是expression不等于任何valueN时DECODE的返回值。
  SQL>select Schedult_id, Day, decode(Day, 1, 'sun', 2, 'mon', 3, 'tue', 4, 'wed', 5, 'thu', 6, 'fri', 7, 'sat')
from Schedult_Type_Details order by Schedult_id, Day;

9.转换字符串为ASCII值
  SQL>select Last_Name, SCAII(Last_Name) from Instructor order by Last_Name;

10.当前日期和时间:SYSDATE

11.转换日期为字符串
语法:
T0_CHAR函数的格式如下:
TO_CHAR(date_value,format)
  SQL>select Last_Name, First_Name, to_char(Hire_Date, "MONTH DD, YYYY') H_DATE from Employee order by Hire_Date;
  在SUBSTR函数中嵌入to_char函数
  SQL>select Last_Name, First_Name, substr(to_char(Hire_date, 'MON), 1, 1) the_fist_letter_