sqlserver基础知识.doc_第1页
sqlserver基础知识.doc_第2页
sqlserver基础知识.doc_第3页
sqlserver基础知识.doc_第4页
sqlserver基础知识.doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL SERVER基础知识1、概述(对比oracle)随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高。Oracle数据库在大多数企业中受到广泛使用,而SQL Server数据库也因为和Windows的联系,在企业中的使用也是非常广泛。 操作系统的稳定对数据库来说是十分紧要的,在数据库可操作平台上,Oracle可在所有主流平台上运行,Oracle数据库采用开放的策略目标,它使得客户可以选择一种最适合他们特定需要的解决方案。客户可以利用很多种第三方应用程序、工具。对开发商来说是很大的支持。而SQL Server却只能在Windows上运行了,这个就显得比较单调了,但SQL Sever在Window平台上的表现,和Windows操作系统的整体结合程度,使用方便性,和Microsoft开发平台的整合性都比Oracle强的很多。但Windows操作系统的稳定性及可靠性大家是有目共睹的,再说Microsoft公司的策略目标是将客户都锁定到Windows平台的环境当中,只有随着Windows性能的改善,SQL Server才能进一步提高。从操作平台这点上Oracle是完全优胜于SQL Server的了。 从资料上可以看到,Oracle的安全认证获得最高认证级别的ISO标准认证,而SQL Server并没有获得什么安全认证。这方面证明了Oracle的安全性是高于SQL Server的。 购买一个产品,首先考虑的当然是产品的性能了,当考虑性能的同时当然少不了究竟要花多少钱在这产品也是个很关键的问题。要建立并运行一个数据库系统。不仅仅包含最初购置软件、硬件的费用,还包含了培训及以后维护的费用。Orcale数据库的价格是远比SQL Server数据库要高,为什么Oracle数据库比SQL Server数据库价格上要高出那么多,一方面Oracle的初始花费相对较高,特别是在考虑工具软件的时候,Oracle很多工具软件需要另外购买,与Microsoft提供免费的SQL Server工具软件相比,Oracle更显价格的不菲。但由于SQL Server只能在Windows下运行的原因,普遍认为SQL Server数据库的可靠性是比较差的。Oracle的性能优势体现在他的多用户上,而SQL Server的性能优势在多用户上就显得力不从心了。 操作上SQL Server明显要比Orcale简单,如果你用过Java和DOTNET的开发平台,区别的基本就是Oracle和SQL Server不同,Oracle的界面基本是基于Java的,大部分的工具是Dos界面的,甚至SQLPlus也是, SQL Server是跟VB一样,全图形界面,很少见到DOS窗口。SQL Server中的企业管理器给用户提供一个全图形界面的集成管理控制台来集中管理多个服务器。Oracle也有自己的企业管理器,而且它的性能在某些方面甚至超过了SQL Server的企业管理器,但它安装较为困难。 Orcale数据库和SQL Server数据库那个更快?其实是一个很难答的问题,因为存在许多不定因素,包括处理类型、数据分布以及硬件基础设施等。SQL Server 2000是一个具备完全Web支持的数据库产品,提供了可扩展标记语言核心支持以及Internet上和防火墙外进行查询的能力,具有可伸缩性、灵活性、扩充性好,而且价格便宜等特点,而Oracle则有着可靠安全性,速度比SQL Server快上百倍,但其价格在实施中却比SQL Server它高出了几百倍。 其实各行业考虑选择那种数据库,是由数据库的特点以及根据自己的业务需求和基础设施综合考虑来决定的。2、常用sqlSQL分类: DDL数据定义语言(CREATE,ALTER,DROP,DECLARE) DML数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname3、说明:备份sql server- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice disk, testBack, c:mssql7backupMyNwind_1.dat;- 开始 备份BACKUP DATABASE pubs TO testBack 4、说明:创建新表create table tabname(col1 type1 not null primary key,col2 type2 not null,.)SQL Server 为 SQL-92 兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。精确数字整数bigint从 -263 (-9223372036854775808) 到 263-1 (9223372036854775807) 的整型数据(所有数字)。int从 -231 (-2,147,483,648) 到 231 - 1 (2,147,483,647) 的整型数据(所有数字)。smallint从 -215 (-32,768) 到 215 - 1 (32,767) 的整数数据。tinyint从 0 到 255 的整数数据。bitbit1 或 0 的整数数据。decimal 和 numericdecimal从 -1038 +1 到 1038 1 的固定精度和小数位的数字数据。numeric功能上等同于 decimal。money 和 smallmoneymoney货币数据值介于 -263 (-922,337,203,685,477.5808) 与 263 - 1 (+922,337,203,685,477.5807) 之间,精确到货币单位的千分之十。smallmoney货币数据值介于 -214,748.3648 与 +214,748.3647 之间,精确到货币单位的千分之十。近似数字float从 -1.79E + 308 到 1.79E + 308 的浮点精度数字。real从 -3.40E + 38 到 3.40E + 38 的浮点精度数字。datetime 和 smalldatetimedatetime从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。smalldatetime从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。字符串char固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。varchar可变长度的非 Unicode 数据,最长为 8,000 个字符。text可变长度的非 Unicode 数据,最大长度为 231 - 1 (2,147,483,647) 个字符。Unicode 字符串nchar固定长度的 Unicode 数据,最大长度为 4,000 个字符。nvarchar可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。ntext可变长度 Unicode 数据,其最大长度为 230 - 1 (1,073,741,823) 个字符。二进制字符串binary固定长度的二进制数据,其最大长度为 8,000 个字节。varbinary可变长度的二进制数据,其最大长度为 8,000 个字节。image可变长度的二进制数据,其最大长度为 231 - 1 (2,147,483,647) 个字节。其它数据类型cursor游标的引用。sql_variant一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。table一种特殊的数据类型,存储供以后处理的结果集。timestamp数据库范围的唯一数字,每次更新行时也进行更新。uniqueidentifier根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2 from tab_old definition only5、说明:删除表:drop table tabname 6、说明:增加一个列:Alter table tabname add column col type删除一个列、修改一个列7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col)8、说明:创建索引:create unique index idxname on tabname(col.) 删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。9、说明:创建视图:create view viewname as select statement删除视图:drop view viewname10、说明:几个简单的基本的sql语句选择:select * from table1 where 范围插入:insert into table1(field1,field2) values(value1,value2)删除:delete from table1 where 范围更新:update table1 set field1=value1 where 范围查找:select * from table1 where field1 like %value1% -like的语法很精妙,查资料!排序:select * from table1 order by field1,field2 desc总数:select count * as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最小:select min(field1) as minvalue from table111、说明:几个高级查询运算词A: UNION 运算符 UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2。B: EXCEPT 运算符 EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。 C: INTERSECT 运算符INTERSECT 运算符通过只包括 TABLE1 和 TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL 随 INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。注:使用运算词的几个查询结果行必须是一致的。12、说明:使用外连接 A、left outer join: 左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。 SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.cB:right outer join: 右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。C:full outer join: 全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。其次,大家来看一些不错的sql语句1、说明:复制表(只复制结构,源表名:a 新表名:b) 法一:select * into b from a where 11法二:select top 0 * into b from a2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b) insert into b(a, b, c) select d,e,f from b;3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) insert into b(a, b, c) select d,e,f from b in 具体数据库 where 条件例子:.from b in &Server.MapPath(.)&data.mdb & where.4、说明:子查询(表名1:a 表名2:b)select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)5、说明:显示文章、提交人和最后回复时间select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b6、说明:外连接查询(表名1:a 表名2:b)select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c7、说明:在线视图查询(表名1:a )select * from (SELECT a,b,c FROM a) T where t.a 1;8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括select * from table1 where time between time1 and time2select a,b,c, from table1 where a not between 数值1 and 数值29、说明:in 的使用方法select * from table1 where a not in (值1,值2,值4,值6)10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )3、SQLServer2000常用管理SQL语句 1. 查看数据库的版本 select version 常见的几种SQL SERVER打补丁后的版本号: 8.00.194 Microsoft SQL Server 2000 8.00.384 Microsoft SQL Server 2000 SP1 8.00.532 Microsoft SQL Server 2000 SP2 8.00.760 Microsoft SQL Server 2000 SP3 8.00.818 Microsoft SQL Server 2000 SP3 w/ Cumulative Patch MS03-031 8.00.2039 Microsoft SQL Server 2000 SP4 2. 查看数据库所在机器操作系统参数 exec master.xp_msver 3. 查看数据库启动的参数 sp_configure 4. 查看数据库启动时间 select convert(varchar(30),login_time,120) from master.sysprocesses where spid=1 查看数据库服务器名和实例名 print Server Name.: + convert(varchar(30),SERVERNAME) print Instance.: + convert(varchar(30),SERVICENAME) 5. 查看所有数据库名称及大小 sp_helpdb 重命名数据库用的SQL sp_renamedb old_dbname, new_dbname 6. 查看所有数据库用户登录信息 sp_helplogins 查看所有数据库用户所属的角色信息 sp_helpsrvrolemember 修复迁移服务器时孤立用户时,可以用的fix_orphan_user脚本或者LoneUser过程 更改某个数据对象的用户属主 sp_changeobjectowner objectname = object, newowner = owner 注意: 更改对象名的任一部分都可能破坏脚本和存储过程。 把一台服务器上的数据库用户登录信息备份出来可以用add_login_to_aserver脚本 查看某数据库下,对象级用户权限 sp_helprotect 7. 查看链接服务器 sp_helplinkedsrvlogin 查看远端数据库用户登录信息 sp_helpremotelogin 8.查看某数据库下某个数据对象的大小 sp_spaceused objname 还可以用sp_toptables过程看最大的N(默认为50)个表,查看某数据库下某个数据对象的索引信息: sp_helpindex objname 还可以用SP_NChelpindex过程查看更详细的索引情况 SP_NChelpindex objname clustered索引是把记录按物理顺序排列的,索引占的空间比较少。 对键值DML操作十分频繁的表我建议用非clustered索引和约束,fillfactor参数都用默认值。 查看某数据库下某个数据对象的的约束信息 sp_helpconstraint objname 9.查看数据库里所有的存储过程和函数 use database_name sp_stored_procedures 查看存储过程和函数的源代码 sp_helptext procedure_name 查看包含某个字符串str的数据对象名称 select distinct object_name(id) from syscomments where text like %str% 创建加密的存储过程或函数在AS前面加WITH ENCRYPTION参数,解密加密过的存储过程和函数可以用sp_decrypt过程。 10.查看数据库里用户和进程的信息 sp_who 查看SQL Server数据库里的活动用户和进程的信息 sp_who active 查看SQL Server数据库里的锁的情况 sp_lock 进程号1-50是SQL Server系统内部用的,进程号大于50的才是用户的连接进程。spid是进程编号,dbid是数据库编号,objid是数据对象编号。查看进程正在执行的SQL语句: dbcc inputbuffer () 推荐大家用经过改进后的sp_who3过程可以直接看到进程运行的SQL语句。 sp_who3 检查死锁用sp_who_lock过程 sp_who_lock 11.查看和收缩数据库日志文件的方法 查看所有数据库日志文件大小 dbcc sqlperf(logspace) 如果某些日志文件较大,收缩简单恢复模式数据库日志,收缩后database_name_log的大小单位为M backup log database_name with no_log dbcc shrinkfile (database_name_log, 5) 12.分析SQL Server SQL 语句的方法: set statistics time on | off set statistics io on | off 图形方式显示查询执行计划 ,在查询分析器-查询-显示估计的评估计划(D)-Ctrl-L 或者点击工具栏里的图形,文本方式显示查询执行计划。 set showplan_all on | off set showplan_text on | off set statistics profile on | off 13.出现不一致错误时,NT事件查看器里出3624号错误,修复数据库的方法 先注释掉应用程序里引用的出现不一致性错误的表,然后在备份或其它机器上先恢复然后做修复操作 alter database error_database_name set single_user 修复出现不一致错误的表 dbcc checktable(error_table_name,repair_allow_data_loss) 或者可惜选择修复出现不一致错误的小型数据库名: dbcc checkdb(error_database_name,repair_allow_data_loss) alter database error_database_name set multi_user CHECKDB 有3个参数: repair_allow_data_loss 包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误, 以及删除已损坏的文本对象,这些修复可能会导致一些数据丢失。修复操作可以在用户事务下完成以允许用户回滚所做的更改。如果回滚修复,则数据库仍会含有错误,应该从备份进行恢复。如果由于所提供修复等级的缘故遗漏某个错误的修复,则将遗漏任何取决于该修复的修复。 修复完成后,请备份数据库。 repair_fast 进行小的、不耗时的修复操作,如修复非聚集索引中的附加键。这些修复可以很快完成,并且不会有丢失数据的危险。 repair_rebuild 执行由 repair_fast 完成的所有修复,包括需要较长时间的修复(如重建索引)。 执行这些修复时不会有丢失数据的危险。 4、常用函数与ORACL对比数学函数1.绝对值 S:select abs(-1) value O:select abs(-1) value from dual 2.取整(大) S:select ceiling(-1.001) value O:select ceil(-1.001) value from dual 3.取整(小) S:select floor(-1.001) value O:select floor(-1.001) value from dual 4.取整(截取) S:select cast(-1.002 as int) value O:select trunc(-1.002) value from dual 5.四舍五入 S:select round(1.23456,4) value 1.23460 O:select round(1.23456,4) value from dual 1.2346 6.e为底的幂 S:select Exp(1) value 2.7182818284590451 O:select Exp(1) value from dual 2.71828182 7.取e为底的对数 S:select log(2.7182818284590451) value 1 O:select ln(2.7182818284590451) value from dual; 1 8.取10为底对数 S:select log10(10) value 1 O:select log(10,10) value from dual; 1 9.取平方 S:select SQUARE(4) value 16 O:select power(4,2) value from dual 16 10.取平方根 S:select SQRT(4) value 2 O:select SQRT(4) value from dual 2 11.求任意数为底的幂 S:select power(3,4) value 81 O:select power(3,4) value from dual 81 12.取随机数 S:select rand() value O:select sys.dbms_random.value(0,1) value from dual; 13.取符号 S:select sign(-8) value -1 O:select sign(-8) value from dual -1 14.圆周率 S:SELECT PI() value 3.1415926535897931 O:不知道 15.sin,cos,tan 参数都以弧度为单位 例如:select sin(PI()/2) value 得到1(SQLServer) 16.Asin,Acos,Atan,Atan2 返回弧度 17.弧度角度互换(SQLServer,Oracle不知道) DEGREES:弧度-角度 RADIANS:角度-弧度 数值间比较 18. 求集合最大值 S:select max(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)a O:select greatest(1,-2,4,3) value from dual 19. 求集合最小值 S:select min(value) value from (select 1 value union select -2 value union select 4 value union select 3 value)a O:select least(1,-2,4,3) value from dual 20.如何处理null值(F2中的null以10代替) S:select F1,IsNull(F2,10) value from Tbl O:select F1,nvl(F2,10) value from Tbl 21.求字符序号 S:select ascii(a) value O:select ascii(a) value from dual 22.从序号求字符 S:select char(97) value O:select chr(97) value from dual 23.连接 S:select 11+22+33 value O:select CONCAT(11,22)33 value from dual 23.子串位置 -返回3 S:select CHARINDEX(s,sdsq,2) value O:select INSTR(sdsq,s,2) value from dual 23.模糊子串的位置 -返回2,参数去掉中间%则返回7 S:select patindex(%d%q%,sdsfasdqe) value O:oracle没发现,但是instr可以通过第四个参数控制出现次数 select INSTR(sdsfasdqe,sd,1,2) value from dual 返回6 24.求子串 S:select substring(abcd,2,2) value O:select substr(abcd,2,2) value from dual 25.子串代替 返回aijklmnef S:SELECT STUFF(abcdef, 2, 3, ijklmn) value O:SELECT Replace(abcdef, bcd, ijklmn) value from dual 26.子串全部替换 S:没发现 O:select Translate(fasdbfasegas,fa,我 ) value from dual 27.长度 S:len,datalength O:length 28.大小写转换 lower,upper 29.单词首字母大写 S:没发现 O:select INITCAP(abcd dsaf df) value from dual 30.左补空格(LPAD的第一个参数为空格则同space函数) S:select space(10)+abcd value O:select LPAD(abcd,14,) value from dual 31.右补空格(RPAD的第一个参数为空格则同space函数) S:select abcd+space(10) value O:select RPAD(abcd,14) value from dual 32.删除空格 S:ltrim,rtrim O:ltrim,rtrim,trim 33. 重复字符串 S:select REPLICATE(abcd,2) value O:没发现 34.发音相似性比较(这两个单词返回值一样,发音相同) S:SELECT SOUNDEX (Smith), SOUNDEX (Smythe) O:SELECT SOUNDEX (Smith), SOUNDEX (Smythe) from dual SQLServer中用SELECT DIFFERENCE(Smithers, Smythers) 比较soundex的差 返回0-4,4为同音,1最高 日期函数35.系统时间 S:select getdate() value O:select sysdate value from dual 36.前后几日 直接与整数相加减 37.求日期 S:select convert(char(10),getdate(),20) value O:select trunc(sysdate) value from dual select to_char(sysdate,yyyy-mm-dd) value from dual 38.求时间 S:select convert(char(8),getdate(),108) value O:select to_char(sysdate,hh24:mm:ss) value from dual 39.取日期时间的其他部分 S:DATEPART 和 DATENAME 函数 (第一个参数决定) O:to_char函数 第二个参数决定 参数-下表需要补充 year yy, yyyy quarter qq, q (季度) month mm, m (m O无效) dayofyear dy, y (O表星期) day dd, d (d O无效) week wk, ww (wk O无效) weekday dw (O不清楚) Hour hh,hh12,hh24 (hh12,hh24 S无效) minute mi, n (n O无效) second ss, s (s O无效) millisecond ms (O无效) - 40.当月最后一天 S:不知道 O:select LAST_DAY(sysdate) value from dual 41.本星期的某一天(比如星期日) S:不知道 O:SELECT Next_day(sysdate,7) vaule FROM DUAL; 42.字符串转时间 S:可以直接转或者select cast(2004-09-08as datetime) value O:SELECT To_date(2004-01-05 22:09:38,yyyy-mm-dd hh24-mi-ss) vaule FROM DUAL; 43.求两日期某一部分的差(比如秒) S:select datediff(ss,getdate(),getdate()+12.3) value O:直接用两个日期相减(比如d1-d2=12.3) SELECT (d1-d2)*24*60*60 vaule FROM DUAL; 44.根据差值求新的日期(比如分钟) S:select dateadd(mi,8,getdate() value O:SELECT sysdate+8/60/24 vaule FROM DUAL; 45.求不同时区时间 S:不知道 O:SELECT New_time(sysdate,ydt,gmt ) vaule FROM DUAL; -时区参数,北京在东8区应该是Ydt- AST ADT 大西洋标准时间 BST BDT 白令海标准时间 CST CDT 中部标准时间 EST EDT 东部标准时间 GMT 格林尼治标准时间 HST HDT 阿拉斯加?夏威夷标准时间 MST MDT 山区标准时间 NST 纽芬兰标准时间 PST PDT 太平洋标准时间 YST YDT YUKON标准时间 常用函数(1)ISNULL使用指定的替换值替换 NULL。语法ISNULL ( check_expression , replacement_value ) 参数check_expression将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。replacement_value在 check_expression 为 NULL时将返回的表达式。replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型返回与 check_expression 相同的类型。注释如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。如果一个书名的价格是 NULL,那么在结果集中显示的价格为 0.00,而不是NULL的返回原值ISNULL(price, 0.00)(2)LTRIM ( character_expression )删除字符变量中的起始空格RTRIM ( character_expression ) 删除字符变量中的尾随空格(3)SUBSTRING ( expression , start , length ) 参数expression是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。start是一个整数,指定子串的开始位置。length是一个整数,指定子串的长度(要返回的字符数或字节数)。SELECT x = SUBSTRING(abcdef, 2, 3)下面是结果集:x - bcd (4)LEFT ( character_expression , integer_expression ) 最左边的 5 个字符。RIGHT ( character_expression , integer_expression ) 参数最右边的五个字符(5)UPPER ( character_expression )返回将小写字符数据转换为大写的字符表达式LOWER ( character_expression )将大写字符数据转换为小写字符数据后返回字符表达式。(6)REVERSE ( character_expression ) 返回字符表达式的反转。(7)CAST ( expression AS data_type )将某种数据类型的表达式显式转换为另一种数据类型declare a intcast(a as varchar(10)-从而连接动态语句 (8)ISNUMERIC ( expression )当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0。返回值为 1 确保可以将 expression 转换为上述数字类型中的一种。注意判断后返回的是0和1与它具有相同用法的就是ISDATE ( expression ) 如:case when ISNUMERIC(字段)=1 then 数字 else 字符 end1.字符串函数 长度与分析用 datalength(Char_expr) 返回字符串包含字符数,但不包含后面的空格 substring(expression,start,length) 不多说了,取子串 right(char_expr,int_expr) 返回字符串右边int_expr个字符 字符操作类 upper(char_expr) 转为大写 lower(char_expr) 转为小写 space(int_expr) 生成int_expr个空格 replicate(char_expr,int_expr)复制字符串int_expr次 reverse(char_expr) 反转字符串 stuff(char_expr1,start,length,char_expr2) 将字符串char_expr1中的从 start开始的length个字符用char_expr2代替 ltrim(char_expr) rtrim(char_expr) 取掉空格 ascii(char) char(ascii) 两函数对应,取ascii码,根据ascii吗取字符 字符串查找 charindex(char_expr,expression) 返回char_expr的起始位置 patindex(%pattern%,expression) 返回指定模式的起始位置,否则为0 2.数学函数 abs(numeric_expr) 求绝对值 ceiling(numeric_expr) 取大于等于指定值的最小整数 exp(float_expr) 取指数 floor(numeric_expr) 小于等于指定值得最大整数 pi() 3.1415926. power(numeric_expr,power) 返回power次方 rand(int_expr) 随机数产生器 round(numeric_expr,int_expr) 安int_expr规定的精度四舍五入 sign(int_expr) 根据正数,0,负数,返回+1,0,-1 sqrt(float_expr) 平方根 3.日期函数 getdate() 返回日期 datename(dat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论