MSsql系统函数

    
    SELECT 2 & 14  --执行“位与”运算:如果两位都是 1,则相应的结果位设置为 1。否则,相应的结果位设置为 0。
    SELECT 2 ^ 14  --执行“位异或”运算:如果一位是 0,另一对应位是 1,则相应结果位设置为 1。如果两位都是 0 或两位都是 1,则相应结果位设置为 0。
    SELECT 2 | 14  --执行“位或”运算:如果任一位为 1,则对应结果位设置为 1。否则,相应的结果位设置为零 (0)。
    SELECT ~2      --执行位 ~(非)运算:对整数执行位求反运算。此运算符可应用于有符号和无符号整数数据类型。

    
--返回 SQL Server 自上次启动以来尝试的连接数,无论连接是成功还是失败。
SELECT GETDATE() AS 'Today''s Date and Time', 
@@CONNECTIONS AS 'Login Attempts'

--以下示例显示了如何返回到当前日期和时间为止的磁盘读写总次数的过程。
SELECT @@TOTAL_READ AS 'Reads', @@TOTAL_WRITE AS 'Writes', GETDATE() AS 'As of',@@TRANCOUNT

--返回当前的 SQL Server 安装的版本、处理器体系结构、生成日期和操作系统。
 SELECT @@VERSION
 
--返回当前数据库的当前 timestamp 数据类型的值,返回执行的上一个 Transact-SQL 语句的错误号。    
    SELECT @@DBTS,@@ERROR ;
--以下示例显示了 SQL Server 到当前日期和时间为止所遇到的错误数。 
SELECT @@TOTAL_ERRORS AS 'Errors', GETDATE() AS 'As of'
 
SELECT @@PACK_RECEIVED AS 'Packets Received' 
SELECT @@PACK_SENT AS 'Pack Sent'
SELECT @@PACKET_ERRORS AS 'Packet Errors'
 SELECT @@ROWCOUNT,@@SERVERNAME,@@TEXTSIZE,@@TIMETICKS
 SELECT @@SERVICENAME AS 'Service Name'
SELECT @@SPID AS 'ID', SYSTEM_USER AS 'Login Name', USER AS 'User Name'
  
 --返回 SQL Server 自上次启动后的工作时间
 SELECT @@CPU_BUSY * CAST(@@TIMETICKS AS float) AS 'CPU microseconds', 
   GETDATE() AS 'As of' ;
   
--以下示例显示如何返回 SQL Server 实例的最大用户连接数。此示例假定 SQL Server 没有针对更少的用户连接进行重新配置。
SELECT @@MAX_CONNECTIONS AS 'Max Connections'
SELECT @@MAX_PRECISION AS 'Max Precision'
    
   
--针对会话返回 SET DATEFIRST 的当前值。
SET DATEFIRST 5;
SELECT @@DATEFIRST AS 'First Day' 
    ,DATEPART(dw, GETDATE()) AS 'Today';  --GETDATE()=SYSDATETIME

--==================================================================================
--==================================================================================
--以下示例将返回 SQL Server 自启动到当前时间的空闲毫秒数。为了避免将值转换为微秒时出现算术溢出,此示例将其中一个值转换为 float 数据类型。

SELECT @@IDLE * CAST(@@TIMETICKS AS float) AS 'Idle microseconds',
   GETDATE() AS 'as of'
   
--下面的示例返回在开始时间和当前时间之间 SQL Server 已经用于执行输入/输出操作的毫秒数。为了避免将值转换为微秒时出现算术溢出,此示例将其中一个值转换为 float 数据类型。
 
SELECT @@IO_BUSY*@@TIMETICKS AS 'IO microseconds', 
   GETDATE() AS 'as of'
   
SET LANGUAGE 'Italian'
SELECT @@LANGID AS 'Language ID' ,@@LANGUAGE AS 'LGANGUGE NAME'

--以下示例显示当未设置 LOCK_TIMEOUT 值时的结果集。

SELECT @@LOCK_TIMEOUT AS [Lock Timeout];
GO

--以下示例设置 NOCOUNT ON 并测试 @@OPTIONS 的值。NOCOUNT ON 选项可防止将会话中每一个语句的有关受影响行数的消息发送回请求的客户端。@@OPTIONS 的值设置为 512 (0x0200)。这表示 NOCOUNT 选项。下面的示例测试客户端是否启用了 NOCOUNT 选项。例如,它可以帮助跟踪客户端的性能差异。
SELECT @@OPTIONS
SET NOCOUNT ON
IF @@OPTIONS & 512 > 0 
RAISERROR ('Current user has SET NOCOUNT turned on.', 1, 1)
 

--以下示例将创建返回远程服务器名称的过程 usp_CheckServer。
CREATE PROCEDURE usp_CheckServer
AS
SELECT @@REMSERVER;
--以下存储过程是在本地服务器 SEATTLE1 上创建的。用户登录到远程服务器 LONDON2 上,然后运行 usp_CheckServer。
EXEC SEATTLE1...usp_CheckServer
EXEC usp_CheckServer
 


 --以下示例将返回当前数据库的数据库 ID
SELECT DB_ID() AS [Database ID];
GO
--以下示例通过验证表是否具有对象 ID 来检查指定表的存在性。如果该表存在,则将其删除。如果该表不存在,则不执行 DROP TABLE 语句。
USE master;
GO
IF OBJECT_ID (N'dbo.AWBuildVersion', N'U') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
--或
IF OBJECT_ID (N'dbo.AWBuildVersion') IS NOT NULL
DROP TABLE dbo.AWBuildVersion;
GO
--允许将显式值插入表的标识列中
SET IDENTITY_INSERT iniCommission ON 

--游标错误标示:
@@FETCH_STATUS 

--以下示例CHARINDEX函数将返回字符序列 bicycle 在 Document 表的 DocumentSummary 列中开始的位置。

DECLARE @document varchar(64)

SELECT @document = 'Reflectors are vital safety' +
                   ' components of your bicycle.'
SELECT CHARINDEX('bicycle', @document)
GO
 
REPLACE(@str, value, N'<u>' + value + N'</u>') 

--返回最后插入的标识值的系统函数。
@@IDENTITY 

示例
以下示例向包含标识列 (LocationID) 的表中插入一行,并使用 @@IDENTITY 显示新行中使用的标识值。

USE AdventureWorks2008R2;
GO
--Display the value of LocationID in the last row in the table.
SELECT MAX(LocationID) FROM Production.Location;
GO
INSERT INTO Production.Location (Name, CostRate, Availability, ModifiedDate)
VALUES ('Damaged Goods', 5, 2.5, GETDATE());
GO
SELECT @@IDENTITY AS 'Identity';
GO
--Display the value of LocationID of the newly inserted row.
SELECT MAX(LocationID) FROM Production.Location;
GO
 

--返回执行的上一个 Transact-SQL 语句的错误号。
select * from dbo.Atype11
go
select @@error

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值