zoukankan      html  css  js  c++  java
  • SQL系统函数——系统信息

    1、查看信息
    1.1、查看编号和名称
    select @@SERVERNAME
    --SQL SERVER服务器的连接字符串,如:computernameinstancename
    select @@SERVICENAME
    --若为默认实例,则返回MSSQLSERVER;若是命名实例,则返回实例名
    改变机器名称后,实例的名称也会跟着变。但是之后会导致本机的内部实例名会跟网络服务名不一致,解决办法如下:
    select @@SERVERNAME, SERVERPROPERTY('ServerName')

    if serverproperty('servername')<>@@servername  
    begin  
        
    declare @server sysname  
        
    set @server=@@servername  
        
    exec sp_dropserver @server=@server
    --删除这个服务器注册
        set @server=cast(serverproperty('servername'as sysname)  
        
    exec sp_addserver @server=@server,@local='LOCAL'
    --添加当前改过名的服务器注册
    end

    select HOST_ID() --主机编号
    select HOST_NAME()--主机名
    select DB_ID('master'--数据库编号
    select DB_NAME(1)      --数据库名称
    select OBJECT_ID('sysobjects')  --数据库对象编号
    在临时表上用object_id()时,要在临时表前加数据库名
    如下:
    方法1(错误)
    --#temp不是存在当前数据库中的
    select object_ID('#temp')
    方法2(错误)
    --是存在tempdb中,但temdb中没有这个函数
    use tempdb
    select object_ID('#temp')
    方法3(正确)
    --MSQL的临时表是存在tempdb中的
    select object_ID('tempdb..#temp')
    select OBJECT_NAME(1)           --数据库对象名称
    select File_ID('master')        --返回该逻辑文件名的编号
    select File_NAME(1)              --返回该文件编号的逻辑文件名
    select FILEGROUP_ID('primary')     --返回文件组编号
    select FILEGROUP_NAME(1)           --返回文件组名称

    select COL_NAME(OBJECT_ID('sysobjects'),1)
    --表中列的名称,每个表中列是从…n顺序编号
    select INDEX_COL('sysobjects',1,1)   
    --返回sysobjects中第一个索引第一个键的名称

    select APP_NAME() --返回当前使用的工具名称,如:SQL 查询分析器
    select @@SPID      --返回当前连接在SQL SERVER中的编号
    select @@PROCID    --在SP中使用,查看自己的ID

    1.2、查看登录和用户
    select Suser_Sid()      --返回登录的SID,可传参,默认返回当前值
    select Suser_Sname()    --返回登录的名称,可传参,默认返回当前值
    select System_User      --等价于不带参数的SUER_SNAME()

    select User_Id()          --返回数据库用户ID,可传参,默认返回当前值
    select User_Name()       --返回数据库用户名,可传参,默认返回当前值
    select User                --等价于不带参数的USER_NAME()
    select Current_User      --等价于不带参数的USER_NAME()
    select Session_User      --等价于不带参数的USER_NAME()

    1.3、查看属性
    select Serverproperty('Collation')               --查看服务器的属性
    select Databasepropertyex('master','Collation')  --查看数据库的属性
    select Sessionproperty('ANSI_NULLS')              --查看当前会话的SET选项  
    select Objectproperty(1,'IsTable')               --查看当前对象的信息
    select Filegroupproperty('Primary','IsReadOnly'--查看文件组的属性
    select Fileproperty('master','SpaceUsed')        --查看文件的属性
    select Columnproperty(1,'name','AllowsNull')      --查看列属性
    select Indexproperty(1,'ncsysobjects','IsClustered'--查看索引属性
    select Indexkey_Property(1,2,1,'ColumnId')           --查看索引键信息

    select Collationproperty('Chinese_PRC_CI_AS','LCID')
    --查看排序规则的信息
    select Sql_Variant_Property('abc12345','BaseType')  
    --返回sql_variant类型值的信息

    2、NULL相关的
    select COALESCE(null,'first',null,'second',null)
    --返回众多表达式中第一个非NULL 表达式的值
    select NULLIF('123','123')
    --在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值
    select ISNULL(null,'not null value')
    --使用指定的替换值替换NULL
    select GetANSINull('master')
    --查看SET ANSI_NULL_DFLT_ON 的设置

  • 相关阅读:
    Linux 误卸载软件,所有命令不能用了咋办
    MySQL 全局锁和表锁
    MongoDB 基础
    MySQL 常见错误
    MySQL 锁信息和事务
    B2C电子商务平台概述及开发公司推荐
    O2O本地生活平台推荐
    OA办公系统哪个公司做的好
    集团企业OA系统选型推荐
    协同OA办公系统选型推荐
  • 原文地址:https://www.cnblogs.com/xymqx/p/3238404.html
Copyright © 2011-2022 走看看