注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Bioinformatics home

 
 
 

日志

 
 

T-SQL入门攻略之7-常見系統函數  

2010-07-19 01:56:26|  分类: SQL |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 

--> Title  : T-SQL 入门 攻略 之 7 - 常见系统函数

 

--> Author : wufeng4552

 

--> Date   : 2010-0 4 - 14

 

1 :获取服务器名与 ID

 

select host_name () -- 获取服务器端计算器名称

 

/*

 

GOLD-MIS06

 

*/

 

select host_id ()    -- 获取服务器端计算器标识 ID

 

/*

 

1748

 

*/

 

2 :获取数据库名与 ID

 

select db_Name ()

 

-- 获取数据库名称

 

-- 格式为 db_name([database_id]) 表示要返回由 database_id 指定的 ID 的

 

-- 数据库名称 , 如果省略则返回当前数据库名称

 

select db_id ()   

 

-- 获取数据库 ID

 

-- 格式为 db_id('database_name') 表示要返回由 database_name 指定的数据库 ID

 

-- 如果省略则返回当前数据库 ID

 

select dbid 数据库 ID,

 

       db_name ( dbid ) 数据库名

 

from master.. sysdatabases

 

order by dbid

 

-- 以上返回所有数据库 ID 与数据库名

 

3 :获取应用程序名称

 

select app_name ()

 

-- 该函数用于获取当前会话的应用程序名称

 

-- 返回类型为了 nvarchar(128)

 

/*

 

Microsoft SQL Server Management Studio - 查询

 

(1 个数据列受到影响 )

 

*/

 

4 :获取数据库用户名与 ID

 

select user_name ()

 

select user_name ( 0)

 

select user_name ( 1)

 

select user_name ( 2)

 

select user_name ( 3)

 

-- 语法格式为 :user_name([ID]), 其中 ID 是与数据库用户关联的标识号

 

-- 该函数返回由 ID 指定的标识号的数据库用户名 , 如果被省略则返回当

 

-- 前数据库用户名称

 

select user_id ( 'public' )

 

select user_id ( 'dbo' )

 

select user_id ()

 

-- 语法格式为 :user_id('user') 其中 user 表示用户名

 

-- 该函数返回由 user 指定用户名的数据库用户 ID,

 

-- 如果省略则返回当前数据库用户的 ID

 

5 :获取数据库对象的名称与 ID

 

select object_name ( 4, 1)

 

/*object_name(object_id[,database_id]) 其中 object_id 表示对象的 ID

 

database_id 表示要在其中查找对象的数据库 ID, 返回类型为 sysname.

 

*/

 

select object_id ( 'dbo.tb' , 'U' )

 

/* 格式如下 :object_id('[database_name.[schema_name].|schema_name.]object_nane'[,type'])

 

object_name 对象的名称

 

schema_name 架构的名称

 

type 表示架构范围内对象的类型

 

*/

 

6 :获取登录名

 

select suser_sname ()

 

select suser_sname ( 0x01)

 

-- 语法格式为 suser_sname(server_user_sid)server_user_sid 表示

 

-- 安全标识号类型为 varbinary(85), 如果未指定 , 则返回当前用户

 

-- 登录的登录名

 

7 :获 取 架构名称

 

select object_schema_name( object_id ( 'tb' ))

 

/* 语法格式为 object_schema_name(object_id[,database_id])

 

  object_id 表示对象 ID,database_id 表示要在其中查找对象的数据库 ID

 

  返回类型为 sysname

 

*/

 

select

 

   object_schema_name( object_id ) as 架构名

 

from master. sys.objects

 

8 :获取数据长度 ( 字节数 )

 

declare @s1 varchar ( 15), @s2 nvarchar ( 15), @s3 char ( 15), @s4 nchar ( 15)

 

select @s1= ' 长度测试 test' , @s2= N' 长度测试 test' , @s3= ' 长度测试 test' , @s4= N' 长度测试 test'

 

select datalength ( @s1) s1, datalength ( @s2) s2, datalength ( @s3) s3, datalength ( @s4) s4

 

/*

 

s1          s2          s3          s4

 

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

 

12          16          15          30

 

综上可以看出如果数据类型为 unicode 则每个字符均占两个字节 ( 变长 ), 非 unicode 汉字占两个

 

英文占一个 ( 变长 ); 而定长的 char(15) 占个 ,nchar(15) 占个

 

*/

 

9 :获取字段定义长度

 

select col_length ( 'student' , 's_name' ) s_name 定义长度

 

select col_length ( 'student' , 'S_no' ) S_no 定义长度

 

-- 语法格式为 :col_length('table','column')

 

10 :获取字段名称

 

select col_name ( object_id ( 'student' ), 1)

 

-- 语法格式为 :col_name(table_id,column_id)

 

--table_id 为表对象 ID,column_id 为字段 ID

 

 

  评论这张
 
阅读(636)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017