sqlserver基础知识
(一)、数据库内部常用函数
1.去除首尾空白
1 LTRIM ( character_expression )--删除字符变量中的起始空格 2 RTRIM ( character_expression )-- 删除字符变量中的尾随空格
例如:
select RTRIM(' 111 1111111 ') as 去字符串右边空格 select LTRIM(' 111 1111111 ') as 去字符串左边空格
2.获取指定字符串开始的返回的开始位置。返回位置从 1 开始,而非从 0 开始
1 CHARINDEX ( expression1 ,expression2 [ , start_location ] )
例1:
例2:
select CHARINDEX('aBc','ababababcaBc' COLLATE Latin1_General_CS_AS)as 区分大小写 select CHARINDEX('aBc','ababababcaBc' COLLATE Latin1_General_CI_AS)as 不区分大小写
(二)
SUBSTRING ( expression , start , length )
参数
expression
是字符串、二进制字符串、text、image、列或包含列的表达式。不要使用包含聚合函数的表达式。
start
是一个整数,指定子串的开始位置。
length
是一个整数,指定子串的长度(要返回的字符数或字节数)。
SELECT x = SUBSTRING('abcdef', 2, 3)
下面是结果集:
x ---------- bcd
(三)、游标
--申明游标 Declare MyCursor CURSOR FOR select distinct name from sysobjects where (name like 'TF0001%VoucherTemplate' or name like 'TF0001%SelectColumns' or name like 'TF0001%Voucher') and xtype = 'u' --打开游标 open MyCursor FETCH NEXT FROM MyCursor INTO @tableName--移动游标 WHILE @@FETCH_STATUS = 0--判断游标状态 begin print @@FETCH_STATUS FETCH NEXT FROM MyCursor INTO @tableName --移动游标 end CLOSE MyCursor --关闭游标 DEALLOCATE MyCursor --销毁游标
(四)、远程访问
exec sp_addlinkedserver 'servername','','SQLOLEDB','10.52.10.114\sql2008r2' exec sp_addlinkedsrvlogin 'servername','false',null,'username','password'
--访问方式 10.52.10.114\sql2008r2 中有一个库为EAPContract_pbh,TModule为库中某表 select * from servername.EAPContract_pbh.dbo.TModule
--判断临时表是否存在
IF object_id('tempdb..#temp') is null