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

 

 
posted @ 2015-01-12 17:49  hzer  阅读(799)  评论(0编辑  收藏  举报