首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么T-SQL命令"Select ~(波浪号) 0“会给出"-1”

T-SQL是一种结构化查询语言,用于管理和处理关系型数据库中的数据。对于T-SQL命令 "SELECT ~(波浪号) 0",它实际上是对逻辑非运算符(~)和位运算符(0)的组合应用。

逻辑非运算符(~)是按位取反运算符,它会将二进制数中的每一位进行取反操作,即1变为0,0变为1。而位运算符(0)表示二进制的0。

在T-SQL中,对于非零数值,其在内存中表示为二进制形式。因此,对于整数0而言,它的二进制表示是全为0的数。

当执行 T-SQL命令 "SELECT ~(波浪号) 0" 时,波浪号(~)会对0进行按位取反操作,即将所有的0变为1。因此,取反后的二进制数表示的是一个全为1的数。

接着,T-SQL会将取反后的二进制数转换为对应的十进制数值。在进行这一步时,会将二进制数的符号位也进行转换。对于有符号数,符号位为1表示负数,符号位为0表示正数。而对于无符号数,符号位始终为0。

由于取反后的二进制数全部位都是1,所以符号位也是1,表示负数。根据二进制补码的规则,将这个负数转换为十进制数时,会得到一个负数值。具体地,对于32位整数,符号位为1表示负数,其他位按位取反并加1,即得到其负数的补码表示。因此,取反后的二进制数为全1,其对应的十进制值为-1。

因此,T-SQL命令 "SELECT ~(波浪号) 0" 会给出结果为-1。

参考腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

那些年我们写过的T-SQL(下篇)

这部分主要难理解的部分是事务和锁机制这块,本文进行简单的阐述。虽然很多SQL命令可以通过工具自动生成,但如果能通过记忆的话速度更快,那么留给自己思考的时间就越多。...) 插入数据(有标识列的情况下) 注意忽略标识列,INSERT INTO dbo.T1(datacol) VALUES('AAAAA') 获取当前标识 SELECT SCOPE_IDENTITY(),...INT; UPDATE dbo.Sequences SET @nextval = val+= 1 WHERE id = 'SEQ1' 合并数据和OUTPUT字句 从2008版本开始,T-SQL...,包括0立即超时,-1无超时(默认值),和n>0超时毫秒数 隔离级别 数据库的隔离级别决定了并发用户读取和写入的行为,一般来说隔离级别越高,数据的一致性越好,并发性越弱,接下来首先锁机制下的隔离级别...@precustid = @custid, @runqty = 0; WHILE @@FETCH_STATUS = 0 BEGIN IF @custid @precustid SELECT

2K50
  • Windows server 2016——SQL server T-SQL查询语句

    公众:网络豆  座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ ---- 写在前面 本系列文章将会讲解SQL server 中 server T-SQL查询语句,并且会同步视频进行安装讲解...一.SQL简介 1.SQL和T-SQL SQL (结构化查询语言) 关系数据库的标准语言 非过程化语言 统一的语言 T-SQL是Transact-SQL的缩写,是SQL在Microsoft SQL Server...不能用于含有外键约束的表 Truncate Table执行速度更快,用于清空大数据量表 在执行Truncate Table前要确保数据可删除 三.使用使用T-SQL语句查询数据 1.select 语法结构...使用UNION关键字 INSERT INTO table-name [column_name] SELECT select_list1 UNION SELECT select_list2...) 16、在employee表中列出满足身份证的左起第三位是0、除CTO以外的,所有员工的姓名、身份证、职务和基本工资,其中姓名字段显示为name,查询结果按照基本工资的由高到低排列。

    22220

    sql调用存储过程exec用法_sqlserver存储过程执行日志

    一、【存储过程】 存储过程的T-SQL语句编译以后可多次执行,由于T-SQL语句不需要重新编译,所以执行存储过程可以 提高性能。...存储过程Procedure是一组为了完成特定功能的SQL语句集合,经编译后存储在数据库中,用户通过指 定存储过程的名称并给出参数来执行。...1、使用T-SQL语句创建存储过程 CREATE PROC [ EDURE ] procedure_name [ ; number ] [ { @parameter data_type } [ VARYING...55) insert into student values(018,'女','赵十四','语文',32) insert into student values(020,'女','赵失误','语文',0)...*from student -- 1、创建不带参数的存储过程 use sixstardb go if exists(select *from sysobjects where name='proc_getstudent

    3.4K10

    浅谈 SQL Server 查询优化与事务处理

    班级 from dbo.TStudent select * from V_Tstudent1 什么是存储过程,存储过程就是 SQL 语句和控制语句的预编译集合,保存在数据库里,可由应用程序调用执行。...那为什么需要存储过程呢,因为从客户端(client)通过网络向服务器(server)发送 SQL 代码并执行是不妥当的,导致数据可能泄露不安全,印象了应用程序的运行性能,而且网络流量大。...使用存储过程的优点就是: 1、模块化程序设计 2、执行速度快、效率高 3、减少网络流量 4、具有良好的安全性 存储过程分为两类:系统存储过程和用户自定义的存储过程 系统存储过程: 是一组预编译的T-SQL...语句 存储过程的返回值 用SSMS创建存储过程 一个完整的存储过程包括以下三部分: 1、输入和输出参数 2、在存储过程中执行的 T-SQL 语句 3、存储过程的返回值 使用 T-SQL 语句创建存储过程的语法为...-- 开始事务(指定事务从此开始,后续的T-SQL语句是一个整体) declare @errorsum int --定义变量,用于累计事务执行过程中的错误 set @errorsum=0

    2K50

    学习SQL Server这一篇就够了

    3.1.2、命令方式 使用命令行的方式创建一个名字为”TEST1“的数据库,同时需要明确指定TEST1的数据文件和日志文件所存储的路径和大小等信息。...) 11 只能为1~8 学时 整数型(tinyint) 10 学分 整数型(tinyint) 1 × 0 CREATE TABLE KCB ( 课程 char(3) NOT...】 group by 分组条件 having 过滤条件; 案例演示1:按照课程对课程进行分组,查询当前课程下所对应的平均成绩大于75分的课程信息 select 课程,AVG(成绩) from CJB...T-SQL除了提供标准的SQL命令之外,还提供了变量说明、流程控制、功能函数等。在SQL Server数据库中,T-SQL语言由DQL、DCL、DDL、 DML 及流控制语句组成。...T-SQL全局变量作为函数引用。例如,@@ERROR返回执行的上一个T-SQL语句的错误;@@CONNECTIONS返回自上次启动SQL Server以来连接或试图连接的次数。

    6.1K30

    T-SQL基础】03.子查询

    本系列【T-SQL基础】主要是针对T-SQL基础的总结。 练习题: 1.写一条查询语句,返回Orders表中活动的最后一天生成的所有订单。 2.查询出拥有订单数量的最多的客户下过的所有订单。...3.查询出2008年5月1(包括这一天)以后没有处理过订单的雇员。...多值子查询:在一个列中 为什么要使用子查询? 可以避免在查询解决方案中把操作分成多个步骤,并在变量中保存中间查询结果的需要。...) 注意: 1.对于有效的标量子查询,它的返回值不能超过一个,如果标量子查询返回了多个值,在运行时则可能失败。...(1)首先用子查询返回所有2008年5月1(包括这一天)以后处理过订单的雇员,将这些雇员的empid返回给外部查询 (2)然后外部查询用NOT IN过滤出所有2008年5月1(包括这一天)之后没有处理过订单的雇员

    1.9K60

    T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列【T-SQL基础】主要是针对T-SQL基础的总结。 本篇主要总结了常见的对单表查询的SQL查询题目。...例如,9 月份有 30 天;因此,下面两个语句返回 2006-09-30 00:00:00.000: SELECT DATEADD(month, 1, '2006-08-30') SELECT DATEADD...本题主要考察%(百分)通配符的用法 百分代表任意长度的字符串,包括空字符串。...1 ELSE 0 END , region; 参考资料: 《SQL2008技术内幕:T-SQL语言基础》 作  者: Jackson0714...版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。

    2K90

    单数据库,多数据库,单实例,多实例不同情况下的数据访问效率测试

    begin     set @currJJDM=(select top 1 jjdm2 from @temp)     select @max_fsrq = MAX(fsrq) from [FundYield... Execute Times(ms):'    print datediff(ms,@useTime,getdate()) 直接执行这个T-SQL脚本,在数据库表没有索引的情况下,耗费的时间是:  T-SQL...[connName1].ConnectionString,                        string.Format("select MAX(fsrq) from [FundYield]...在本文给出的测试代码中,有下列语句: //SqlConnection conn = new SqlConnection(connString); //conn.Open(); 注释掉这些语句,在被调用的方法中使用自己的连接对象...为什么PC机跟服务器测试的结论不一致?也许还是跟计算能力相关,PC机的计算负载太大,已经失去了测试的意义。

    1.5K100

    30分钟全面解析-SQL事务+隔离级别+阻塞+死锁

    @@TRANCOUNT可用在代码的任何位置来判断当前使用SELECT @@TRANCOUNT的地方是否位于一个打开的事务当中,如果不在任何打开的事务范围内,则该函数返回0;如果在某个打开的事务返回范围内...,则返回一个大于0的值。...109:0 而status列显示wait,     表示第1个数据文件上的第109页上的第0行上的锁资源。...三、阻塞 1.阻塞 当多个事务都需要对某一资源进行锁定时,默认情况下会发生阻塞。被阻塞的请求一直等待,直到原来的事务释放相关的锁。...★7.KILL 命令1)杀掉会话52,KILL 52 (2)杀掉会话,会引起事务回滚,同时释放排他锁 三、隔离级别 1.基本概念: (1)隔离级别用来做什么   a.隔离级别用于决定如何控制并发用户读写数据的操作

    1.9K50

    SQLServer中的CTE通用表表达式

    接着我将讨论使用 CTE 相对于使用传统的 T-SQL 构造的优势,如派生表、视图和自定义过程。在本期专栏中,我将给出示例并解释它们的使用方法和适用情况。...例如,在图 1 中,已经创建了一个视图,并为另一个 T-SQL 语句所使用。然而,当您想要收集数据并且只使用一次的时候,视图未必是最佳解决方案。...如果想要在同一个批处理中多次使用派生表,此问题变得更加严重,因为随后必须复制和粘贴派生表才能重复使用它。...) 3 AS 4 ( 5 -- 定位点成员 6 SELECT EmployeeID, FirstName, LastName, ReportsTo, 0 7 FROM Employees...定位点成员查询的最后一列返回 0 值,这表示分层顺序的第 0 层,也就是最顶层。递归成员查询收集向其各自上级汇报的员工的列表。这通过联接 Employees 表和 EmpCTE 来实现。

    3.8K10
    领券