急求SQL数据库中能用到的关键字及其用处?最好能举例说明一下!

急求SQL数据库中能用到的关键字及其用处?最好能举例说明一下!,第1张

我在别人的blog上摘录的,你可以上去看看,能学到很多知识了

http://www.badguy.name/article.asp?id=702

上一篇 下一篇连接,能看到很多sql文章。

希望对你有帮助。

1.数据定义语言(DDL)

数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语句包括Create、Alter和Drop等语句。在SQL Server 2000中,数据库对象包括表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用Create、Alter、Drop等语句来完成。

2.数据 *** 纵语言(DML)

数据 *** 纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括Select、Insert、Update、Delete等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据 *** 纵语言。

3.数据控制语言(DCL)

数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。

DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。

REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。

sp_addtype:用于定义一个用户定义数据类型。

sp_configure:用于管理服务器配置选项设置。

xp_sendmail:用于发送电子邮件或寻呼信息。

sp_stored_procedures:用于返回当前数据库中的存储过程的清单。

sp_help:用于显示参数清单和其数据类型。

sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。

sp_helptext:用于显示存储过程的定义文本。

sp_rename:用于修改当前数据库中用户对象的名称

3.数据控制语言(DCL)

数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。

DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。

REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。

sp_addtype:用于定义一个用户定义数据类型。

sp_configure:用于管理服务器配置选项设置。

xp_sendmail:用于发送电子邮件或寻呼信息。

sp_stored_procedures:用于返回当前数据库中的存储过程的清单。

sp_help:用于显示参数清单和其数据类型。

sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。

sp_helptext:用于显示存储过程的定义文本。

sp_rename:用于修改当前数据库中用户对象的名称。

程序代码

1. EXEC sp_renamedb 'userdb1', 'userdb2'

更改数据库的名称,由userdb1更改为userdb2

2.EXEC sp_rename 'user_log','用户登录表'

更改当前数据库表的名称,由user_log,改为'用户登录表'

EXEC sp_rename 'user_info.user_name', '用户名','column'

将user_info表的'user_name'列重命名为'用户名'

3.EXEC sp_detach_db 'pubs', 'true'

sp_detach_db

从服务器分离数据库,并可以选择在分离前在所有的表上运行 Update STATISTICS。

4. 将数据库附加到服务器

EXEC sp_attach_db @dbname = N'pubs',

@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',

@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

5. 将只有一个数据文件的数据库附加到当前服务器

EXEC sp_attach_single_file_db @dbname = 'pubs',

@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

----------------------------------------------

SQL中的注释

在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。

SQL中的变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。

3.数据控制语言(DCL)

数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。

DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。

REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。

sp_addtype:用于定义一个用户定义数据类型。

sp_configure:用于管理服务器配置选项设置。

xp_sendmail:用于发送电子邮件或寻呼信息。

sp_stored_procedures:用于返回当前数据库中的存储过程的清单。

sp_help:用于显示参数清单和其数据类型。

sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。

sp_helptext:用于显示存储过程的定义文本。

sp_rename:用于修改当前数据库中用户对象的名称。

程序代码

1. EXEC sp_renamedb 'userdb1', 'userdb2'

更改数据库的名称,由userdb1更改为userdb2

2.EXEC sp_rename 'user_log','用户登录表'

更改当前数据库表的名称,由user_log,改为'用户登录表'

EXEC sp_rename 'user_info.user_name', '用户名','column'

将user_info表的'user_name'列重命名为'用户名'

3.EXEC sp_detach_db 'pubs', 'true'

sp_detach_db

从服务器分离数据库,并可以选择在分离前在所有的表上运行 Update STATISTICS。

4. 将数据库附加到服务器

EXEC sp_attach_db @dbname = N'pubs',

@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',

@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

5. 将只有一个数据文件的数据库附加到当前服务器

EXEC sp_attach_single_file_db @dbname = 'pubs',

@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

----------------------------------------------

SQL中的注释

在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。

SQL中的变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。

局部变量:局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。

全局变量:全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

使用全局变量时应该注意以下几点:

①全局变量不是由用户的程序定义的,它们是在服务器级定义的。

②用户只能使用预先定义的全局变量。

③引用全局变量时,必须以标记符“@@”开头。

④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

----------------------------------------------

SQL中的函数

在Transact-SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。Transact-SQL 编程语言提供了三种函数:

一行集函数:行集函数可以在Transact-SQL语句中当作表引用。

二聚合函数:聚合函数用于对一组值执行计算并返回一个单一的值。

三标量函数:标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。

1.字符串函数

字符串函数包括:

基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。

字符串查找函数:CHARINDEX、PATINDEX。

长度和分析函数:DATALENGTH、SUBSTRING、RIGHT。

转换函数:ASCH、CHAR、STR、SOUNDEX、DIFFERENCE。

基本字符串函数

UPPER:将小写字符数据转换为大写的字符

LOWER:将大写字符数据转换为小写的字符

SPACE:返回由重复的空格组成的字符串。如:space(2)则返回两个空格

REPLICATE:以指定的次数重复字符表达式。

语法:REPLICATE ( character_e­xpression , integer_e­xpression )

如:Select REPLICATE(au_fname, 2) FROM authors,则重复两遍每个作者的名字

STUFF:删除指定长度的字符并在指定的起始点插入另一组字符。

语法:STUFF ( character_e­xpression , start , length , character_e­xpression )

(start是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_e­xpression 长,则返回空字符串。

length是一个整数,指定要删除的字符数。如果 length 比第一个 character_e­xpression 长,则最多删除到最后一个 character_e­xpression 中的最后一个字符。)

3.数据控制语言(DCL)

数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、DENY、REVOKE等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

GRANT语句是授权语句,它可以把语句权限或者对象权限授予给其他用户和角色。

DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。

REVOKE语句是与GRANT语句相反的语句,它能够将以前在当前数据库内的用户或者角色上授予或拒绝的权限删除,但是该语句并不影响用户或者角色从其他角色中作为成员继承过来的权限。

----------------------------------------------

4. 系统存储过程

系统存储过程是SQL Server系统创建的存储过程,它的目的在于能够方便地从系统表中查询信息,或者完成与更新数据库表相关的管理任务或其它的系统管理任务。系统存储过程可以在任意一个数据库中执行。系统存储过程创建并存放于系统数据库master中,并且名称以sp_或者xp_开头。

sp_addtype:用于定义一个用户定义数据类型。

sp_configure:用于管理服务器配置选项设置。

xp_sendmail:用于发送电子邮件或寻呼信息。

sp_stored_procedures:用于返回当前数据库中的存储过程的清单。

sp_help:用于显示参数清单和其数据类型。

sp_depends:用于显示存储过程依据的对象或者依据存储过程的对象。

sp_helptext:用于显示存储过程的定义文本。

sp_rename:用于修改当前数据库中用户对象的名称。

程序代码

1. EXEC sp_renamedb 'userdb1', 'userdb2'

更改数据库的名称,由userdb1更改为userdb2

2.EXEC sp_rename 'user_log','用户登录表'

更改当前数据库表的名称,由user_log,改为'用户登录表'

EXEC sp_rename 'user_info.user_name', '用户名','column'

将user_info表的'user_name'列重命名为'用户名'

3.EXEC sp_detach_db 'pubs', 'true'

sp_detach_db

从服务器分离数据库,并可以选择在分离前在所有的表上运行 Update STATISTICS。

4. 将数据库附加到服务器

EXEC sp_attach_db @dbname = N'pubs',

@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',

@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

5. 将只有一个数据文件的数据库附加到当前服务器

EXEC sp_attach_single_file_db @dbname = 'pubs',

@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

----------------------------------------------

SQL中的注释

在SQL Server中,可以使用两种类型的注释字符:一种是ANSI标准的注释符“--”,它用于单行注释;另一种是与C语言相同的程序注释符号,即“/* */”。

SQL中的变量

Transact-SQL语言中有两种形式的变量,一种是用户自己定义的局部变量,另外一种是系统提供的全局变量。

局部变量:局部变量是一个能够拥有特定数据类型的对象,它的作用范围仅限制在程序内部。局部变量可以作为计数器来计算循环执行的次数,或是控制循环执行的次数。另外,利用局部变量还可以保存数据值,以供控制流语句测试以及保存由存储过程返回的数据值等。局部变量被引用时要在其名称前加上标志“@”,而且必须先用DECLARE命令定义后才可以使用。

全局变量:全局变量是SQL Server系统内部使用的变量,其作用范围并不仅仅局限于某一程序,而是任何程序均可以随时调用。全局变量通常存储一些SQL Server的配置设定值和统计数据。用户可以在程序中用全局变量来测试系统的设定值或者是Transact-SQL命令执行后的状态值。

使用全局变量时应该注意以下几点:

①全局变量不是由用户的程序定义的,它们是在服务器级定义的。

②用户只能使用预先定义的全局变量。

③引用全局变量时,必须以标记符“@@”开头。

④局部变量的名称不能与全局变量的名称相同,否则会在应用程序中出现不可预测的结果。

----------------------------------------------

SQL中的函数

在Transact-SQL语言中,函数被用来执行一些特殊的运算以支持SQL Server的标准命令。Transact-SQL 编程语言提供了三种函数:

一行集函数:行集函数可以在Transact-SQL语句中当作表引用。

二聚合函数:聚合函数用于对一组值执行计算并返回一个单一的值。

三标量函数:标量函数用于对传递给它的一个或者多个参数值进行处理和计算,并返回一个单一的值。

1.字符串函数

字符串函数包括:

基本字符串函数:UPPER、LOWER、SPACE、REPLICATE、STUFF、REVERSE、LTRIM、RTRIM。

字符串查找函数:CHARINDEX、PATINDEX。

长度和分析函数:DATALENGTH、SUBSTRING、RIGHT。

转换函数:ASCH、CHAR、STR、SOUNDEX、DIFFERENCE。

基本字符串函数

UPPER:将小写字符数据转换为大写的字符

LOWER:将大写字符数据转换为小写的字符

SPACE:返回由重复的空格组成的字符串。如:space(2)则返回两个空格

REPLICATE:以指定的次数重复字符表达式。

语法:REPLICATE ( character_e­xpression , integer_e­xpression )

如:Select REPLICATE(au_fname, 2) FROM authors,则重复两遍每个作者的名字

STUFF:删除指定长度的字符并在指定的起始点插入另一组字符。

语法:STUFF ( character_e­xpression , start , length , character_e­xpression )

(start是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_e­xpression 长,则返回空字符串。

length是一个整数,指定要删除的字符数。如果 length 比第一个 character_e­xpression 长,则最多删除到最后一个 character_e­xpression 中的最后一个字符。)

REVERSE:反转字符串Select REVERSE('abcd') 则返回‘dcba’

字符串查找函数

参考:http://www.badguy.name/article.asp?id=93

长度和分析函数

DATALENGTH :返回任何表达式所占用的字节数。

SUBSTRING:参考http://www.badguy.name/article.asp?id=105

LEFT:返回从字符串左边开始指定个数的字符。

RIGHT:返回从字符串左边开始指定个数的字符。Select RIGHT(au_fname, 5) FROM authors

2.日期和时间函数

datepart

示例:

3.数学函数

数学函数用于对数字表达式进行数学运算并返回运算结果。 常用的有:CEILING()、FLOOR()、ROUND()函数

4.转换函数

一般情况下,SQL Server会自动处理某些数据类型的转换。例如,如果比较 char 和 datetime 表达式、smallint 和 int 表达式、或不同长度的 char 表达式,SQL Server 可以将它们自动转换,这种转换被称为隐性转换。但是,无法由SQL Server自动转换的或者是SQL Server自动转换的结果不符合预期结果的,就需要使用转换函数做显示转换。转换函数有两个:CONVERT和CAST。

CAST ( e­xpression AS data_type )

CONVERT函数允许用户把表达式从一种数据类型转换成另一种数据类型,还允许把日期转换成不同的样式。其语法形式为:

CONVERT (data_type[(length)],e­xpression [,style])

流程控制语句是指那些用来控制程序执行和流程分支的命令,在SQL Server 2000中,流程控制语句主要用来控制SQL语句、语句块或者存储过程的执行流程。

IF Boolean_e­xpression

{ sql_statement | statement_block }

[ ELSE

{ sql_statement | statement_block } ]

BEGIN

{ sql_statement

| statement_block}

END

http://www.badguy.name/article.asp?id=702

常量有:

"姓名" 字符型,.F.逻辑型,[5585211]字符型, 98/07/21浮点型,1E2浮点型。

变量有:教授,T

4. 求下列表达式的值。

(1) LEN(DTOC(DATE())) =10

(2) STUFF("现代教育中心",5,0,LEFT("技术中心",4)) =“现代教育中心”

(3) VARTYPE(08/23/03)=N

(4) SPACE(5)-SPACE(5) =""

(5) "PRO"$"FoxPro" AND "100">"90" =.F.

5. 针对学生表,写出下列条件:

(1) 入学成绩高于600分的学生;

use 学生表

brow for 入学成绩>600

(2) 年龄大于18岁但小于25岁的学生;

use 学生表

brow for 年龄>18.and.年龄<25

(3) 少数民族的男生;

use 学生表

brow for 民族<>"汉族".and.性别="男"

(4) 在1985年1月1日至1983年12月31日之间出生的学生;

use 学生表

brow for BETWEEN(年龄, ctod("1983/12/31"), ctod("1985/01/01") )

(5) 入学成绩在580分以上的汉族女生。

use 学生表

brow for 民族="汉族".and.性别="女".and.入学成绩>580

6. 写出下列表达式。

(1) 求实数x的小数部分;

abs(x)-abs(int(x))

(2) 求自然数m的十位数字;

subs((str(int(abs(m))),len(str(int(abs(m))))-1,1 )

(3) 将实数x保留两位小数,第三位小数进行四舍五入处理;

ROUND(x, 2)

(4) 将c中的小写字母转换成相应的大写字母;

upper(c)

(5) 判断n是否偶数。

mod(n,2)=0

7. 分析下列命令执行后的输出结果,并上机验证。

(1) X=STR(13.4,4,1)

Y=RIGHT(X,3)

Z="&Y+&X"

?&Z,Z

16.80 3.4+13.4

(2) DIMENSION A(2,3)

A=175

A(2,2)=2*A(2,2)

?A(5),A(1,2)

350 175

(3) X=542

Y=INT(542/100)

Z=X%10

? Z*100+Y

205

(4) SET EXACT ON

CH="数据库应用"

CH1=CH=LEFT(CH,6)

? CH1,CH

.F. 数据库应用

ABS(-7.8) = 7.80 *! 取绝对值函数SQRT(25) = 5.00*1 平方根函数PI() = 3.14 *! π函数SIN(2) = 0.91 *! 正弦函数COS(60*PI()/180) = 0.50 *! 余弦函数MOD(8,3) = 2 *! 求余数函数SPACE(5) = " " *! 空格函数CHR(66) = “B" *! ASCII字符函数ASC(‘B’) = 66 *! ASCII码函数VAL("238“) = 238.00 *! 字符数值型转换函数STR(365,5) = ”365.5" *! 数值字符型转换函数-------------------------------------------------------------------------------Visual Foxpro 常用函数一、数值函数

数值函数用于数值运算,其自变量与函数都是数值型数据。

1.取绝对值函数ABS( )

【格式】ABS(<nExp>)

【功能】计算nExp的值,并返回该值的绝对值。

2.指数函数EXP( )

【格式】EXP(<nExp>)

【功能】求以e为底、nExp值为指数的幂,即返回ex的值。

3.取整函数INT( )

【格式】INT(<nExp>)

【功能】计算nExp的值,返回该值的整数部分。

4.上界函数CEILING( )

【格式】CEILING(<nExp>)

【功能】计算nExp的值,返回一个大于或等于该值的最小整数。

5.下界函数FLOOR( )

【格式】FLOOR(<nExp>)

【功能】计算nExp的值,返回一个小于或等于该值的最大整数。

6.自然对数函数LOG( )

【格式】LOG(<nExp>)

【功能】求nExp的自然对数。nExp的值必须为正数。

7.常用对数函数

【格式】LOG10(<nExp>)

【功能】求nExp的常用对数。nExp的值必须为正数。

8.平方根函数SQRT( )

【格式】SQRT(<nExp>)

【功能】求非负nExp的平方根。

9.最大值函数MAX( )和最小值函数MIN( )

【格式】MAX(<nExp1>,<nExp2>[,<nExp3>...])

MIN(<nExp1>,<nExp2>[,<nExp3>...])

【功能】返回数值表达式中的最大值MAX( )和最小值MIN( )。

10.求余数函数MOD( )

【格式】MOD(<nExp1>,<nExp2>)

【功能】返回nExp1除以nExp2的余数。余数的小数位数与nExp1相同,符号与nExp2相同。

11.四舍五入函数ROUND( )

【格式】ROUND(<nExp1>,<nExp2>)

【功能】返回nExp1四舍五入的值, nExp2表示保留的小数位数。

12.π函数PI( )

【格式】PI( )

【功能】返回常量π的近似值

13.正弦函数SIN( )

【格式】SIN(<nExp>)

【功能】返回nExp的正弦值。nExp以弧度为单位,函数值域为[-1,1]。

14.余弦函数COS( )

【格式】COS(<nExp>)

【功能】返回nExp的余弦值。nExp以弧度为单位,函数的值域为[-1,1]。

15.正切函数TAN( )

【格式】TAN(<nExp>)

【功能】返回nExp的正切值。nExp以弧度为单位,其值为π/2或- π/2时,系统返回一个绝对值很大的数。

16.反正弦函数ASIN( )

【格式】ASIN(<nExp>)

【功能】返回nExp的反正弦值。自变量值必须在[-1,1]内,函数值为弧度,且值域为[-π/2, π/2]。

17.反余弦函数ACOS( )

【格式】ACOS(<nExp>)

【功能】返回nExp的反余弦值。自变量的值必须在[-1,1]内,函数值为弧度,值域为[-π/2, π/2]。

18.反正切函数ATAN( )

【格式】ATAN(<nExp>)

【功能】返回nExp的反正切值。函数值为弧度,值域为(-π/2, π/2)。 二、字符函数

字符函数是处理字符型数据的函数,其自变量或函数值中至少有一个是字符型数据。函数中涉及的字符型数据项,均以cExp表示。

1.子串位置函数

【格式】AT(<cExp1>,<cExp 2>)

【功能】返回串cExp1在串cExp2中的起始位置。函数值为整数。如果串cExp2不包含串cExp1,函数返回值为零。

2.取左子串函数LEFT( )

【格式】LEFT(<cExp>,<nExp>)

【功能】返回从cExp串中第一个字符开始,截取nExp个字符的子串。

3.取右子串函数RIGHT( )

【格式】RIGHT(<cExp >,<nExp>)

【功能】返回从cExp串中右边第一个字符开始,截取nExp个字符的子串。有关说明同LEFT( )函数。

4.取子串函数SUBSTR( )

【格式】SUBSTR (<cExp>,<nExp1>[,<nExp2>] )

【功能】返回从串cExp中第nExp1个字符开始,截取nExp2个字符的子串。

5.字符串长度函数LEN( )

【格式】LEN(<cExp>)

【功能】返回cExp串的字符数(长度)。函数值为N型。

6.删除字符串前导空格函数LTRIM( )

【格式】LTRIM(<cExp>)

【功能】删除cExp串的前导空格字符。

7.删除字符串尾部空格函数RTRIM( ) | TRIM( )

【格式】RTRIM | TRIM(<cExp>)

【功能】删除cExp串尾部空格字符。

8.空格函数SPACE( )

【格式】SPACE (<nExp>)

【功能】返回一个包含nExp个空格的字符串。

9.字符串替换函数STUFF( )

【格式】STUFF(<cExp1>,<nExp1>,<nExp2>,<cExp2>)

【功能】从nExp1指定位置开始,用cExp2串替换 cExp1串中nExp2个字符。

10.字符复制函数 REPLICATE( )

【格式】REPLICATE (<cExp>,<nExp>)

【功能】返回将cExp串重复nExp次的字符串。

11.定义输出格式函数 TRANSFORM( )

【格式】TRANSFORM (<eExp>,<cExp>)

【功能】按格式描述式cExp指定的格式,输出任意表达式eExp的值。

12.大小写转换函数LOWER( ) 和UPPER( )

【格式】LOWER (<cExp>)

UPPER (<cExp>)

【功能】LOWER( )将cExp串中字母全部变成小写字母,UPPER( )将cExp串中字母全部变成大写字母,其它字符不变。

13.宏替换函数 &

【格式】&<cVar >[.<cExp >]

【功能】替换出字符型变量cVar中字符。 三、日期时间函数

日期时间函数是处理日期型或日期时间型数据的函数。其自变量为日期型表达式dExp或日期时间型表达式tExp。

1.系统日期函数DATE( )

【格式】DATE()

【功能】返回当前系统日期,此日期由Windows系统设置。函数值为D型。

2.系统时间函数TIME( )

【格式】TIME([<nExp>])

【功能】返回当前系统时间,时间显示格式为hh:mm:ss。若选择了nExp ,则不管为何值,返回的系统时间还包括秒的小数部分,精确至小数点后两位。函数值为C型。

3.日期函数DAY( )

【格式】DAY(<dExp>)

【功能】返回dExp式中的天数。函数值为N型

4.星期函数DOW( )、CDOW( )

【格式】DOW(<dExp>)

CDOW(<dExp>)

【功能】DOW( )函数返回dExp式中星期的数值,用1~7表示星期日~星期六。函数值为N型。CDOW( ) 函数返回dExp式中星期的英文名称。函数值为C型。

5.月份函数MONTH( )、CMONTH( )

【格式】MONTH(<dExp>)

CMONTH(<dExp>)

【功能】MONTH( )函数返回dExp式中月份数。函数值为N型。CMONTH( )函数则返回月份的英文名。函数值为C型。

6.年份函数YEAR( )

【格式】YEAR(<dExp>)

【功能】函数返回dExp式中年份值。函数值为N型。 四、转换函数

在数据库应用的过程中,经常要将不同数据类型的数据进行相应转换,满足实际应用的需要。Visual FoxPro系统提供了若干个转换函数,较好地解决了数据类型转换的问题。

1.ASCII码函数ASC( )

【格式】ASC (<cExp>)

【功能】返回cExp串首字符的ASCII码值。函数值为N型。

2.ASCII字符函数CHR( )

【格式】CHR(<nExp >)

【功能】返回以nExp值为ASCII码的ASCII字符。函数值为C型。

3.字符日期型转换函数CTOD( )

【格式】CTOD(<cExp>)

【功能】把“××/××/××”格式的cExp串转换成对应日期值。函数值为D型。

4.日期字符型转换函数DTOC( )

【格式】DTOC(<dExp >〔, 1〕)

【功能】把日期dExp转换成相应的字符串。函数值为C型。

5.数值字符型转换函数STR( )

【格式】STR(<nExp1>[,<nExp2>][,<nExp3>])

【功能】将nExp1的数值转换成字符串形式。函数值为C型。

6.字符数值型转换函数VAL( )

【格式】VAL (<cExp>)

【功能】将cExp串中数字转换成对应数值,转换结果取两位小数。函数值为N型。 五、测试函数

在数据库应用的 *** 作过程中,用户需要了解数据对象的类型、状态等属性,Visual FoxPro提供了相关的测试函数,使用户能够准确地获取 *** 作对象的相关属性。

1.数据类型函数TYPE( )

【格式】TYPE(<cExp >)

【功能】返回cExp 串表示的数据对象的数据类型,返回值是一个表示数据类型的大写字母。C:字符型,D:日期型,N:数值型,L:逻辑型,M:备注型,G:通用型,U:未定义。

2.文件查找函数FILE()

【格式】FILE(<cExp>)

【功能】根据cExp串中指定路径查找文件,如未指定路径,则在默认目录中查找。文件存在,返回逻辑真(.T.) 值,否则为逻辑假(.F.)值。

3.条件测试函数IIF( )

【格式】IIF(<lExp >,<eExp 1>,<eExp2>)

【功能】逻辑表达式lExp值为真(.T.),返回表达式eExp1的值,否则返回表达式eExp2的值。eExp1和eExp2可以是任意数据类型的表达式。

4.表结束标志测试函数EOF( )

【格式】EOF([<工作区号>| <别名>])

【功能】测试记录指针是否移到表结束处。如果记录指针指向表中尾记录之后,函数返回真(.T.),否则为假(.F.)。

5.表起始标识测试函数BOF ( )

【格式】BOF ([<工作区号>| <别名>])

【功能】测试记录指针是否移到表起始处。如果记录指针指向表中首记录前面,函数返回真(.T.),否则为假(.F.)。工作区说明见EOF()函数。

6.当前记录号函数RECNO()

【格式】RECNO([<工作区号>| <别名>])

【功能】返回指定工作区中表的当前记录的记录号。对于空表返回值为1。

7.当前记录逻辑删除标志测试函数DELETED( )

【格式】DELETED([<工作区号>| <别名>])

【功能】测试指定工作区中表的当前记录是否被逻辑删除。如果当前记有逻辑删除标记,函数返回真(.T.),否则为假(.F.)。

8.记录数函数RECCOUNT( )

【格式】RECCOUNT ([<工作区号>| <别名>])

【功能】返回指定工作区中表的记录个数。如果工作区中没有打开表则返回0。

9.记录大小测试函数RECSIZE( )

【格式】RECSIZE( [<工作区号>| <别名>] )

【功能】返回指定工作区中表的记录总长度。如果工作区中没有打开表则返回0。

10.屏幕列坐标和行坐标函数 COL( )、ROW( )

【格式】COL ( )

ROW()

【功能】COL ( )返回光标的列坐标值,ROW ( )返回光标的行坐标值。

11.打印机列坐标和行坐标函数PCOL( ),PROW( )

【格式】PCOL( )

PROW()

【功能】返回打印机打印头所处位置的列坐标和行坐标。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9930629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存