SQL常见语句及函数.pdf
1.求字持串的长度LENGTH
您可用LENGTH函数求字符串的长度。LENGTH返回一个数值。该值等于参数中的
字符个数。
例:使用LENGTH函数
SQL>selectLast_Name,length(Last_Name)fromcustomerorderby
LastName;
2.使用SUBST函数从字符串中提取子串
语法:
SUBST函数的语法如下:
SUBSTR(string,stringcharcter,numberofcharcters)
变量定义如下:
string为字符列或字符串表达式
stringcharcter为子串的起始位置
numberofcharcters为返回字符的个数c
例:说明了怎样使用SUBST函数取得教师的姓的前四个字符
SQL>selectlast_Name,substr(Last_Name,1,4)frominstectororder
byLast_Name
例:在SUBST函数中使用LENGTH函数(取后三个字符)
5Qt.>selectlast_Name,substr(Last_Name,Length(Last_Name)-2,3)
frominstectororderbyLast_Name
3.在字符串中查找模式
例:使用LIKE运算符
SQL>columndescriptionformata40word_wrapped
SQL>columntitleformata35
SQL>selectTitle,DescriptionfromCoursewhereDescriptionlike
%thory%orDescriptionlike%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函数将SEMINA改变成
DISCUSSION,另一查询显示了UPDATE语句的效果。
SQL>updateCoursesetTitle=replace(Title,SEMINAR,
DISCUSSION);
注:如果在REPLACE函数中您没有指明用什么字符串去替代,则列中的原字符串
将被删除。
5.删除字符串的空格
如果字符串列中包含前导或尾部空格,按某指定值对列进行查询,很可能返
回错误结果。
LTRIM和RTRIM。
6.LPAD左填充函数
使用LPAD对字符串进行左填充。
语法:
LPAD(string,n,pad_string);
变量定义如下:
string为需左填充的字符串直接值或字符申列。
n为LPAD返回的字符串长度。
pad_string为左填充到string的字符串。
SQL>selectlpad(my_col,20)fromtest_trim;
使用LENGTH函数人微言轻LPAD函数的参数:
SQL>selectlpad(my_col,length(my_col)+8,yousay)from
test_trim;
7.改变字符串的大小写
oracle提供了三个改变字符串大小写的函数:
INITCAP转换每个字的第一个字符为大写
LOWER转换所有字符为小写
UPPER转换所有字符为人