SQL数据库开发—TSQL-—运算符2不常用

2024-03-05 08:38

本文主要是介绍SQL数据库开发—TSQL-—运算符2不常用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一 select 运算符优先级

级别    运算符
0    ()
1    ~(位非)
2    *(乘)、/(除)、%(取模)
3    +(正)、-(负)、+(加)、+(串联)、-(减)、&(位与)、^(位异或)、|(位或)
4    =、>、<、>=、<=、<>、!=、!>、!<(比较运算符)
5    NOT
6    和
7    ALL、ANY、BETWEEN、IN、LIKE、OR、SOME
8    =(赋值)
 

 

二  位运算符 (Transact-SQL)

位运算符的操作数可以是整数或二进制字符串数据类型类别中的任何数据类型(image 数据类型除外),但两个操作数不能同时是二进制字符串数据类型类别中的某种数据类型。 下表显示所支持的操作数数据类型。

  • &(位与)               如果两个位置上的位均为 1,则结果为 1。
  • &=(位与赋值)
  • |(位或)                  如果两个位置上任意一个位置的位为 1,则结果为 1。
  • |=(位或赋值)
  • ^(位异或)             对每个位位置上的位值取反。
  • ^=(位异或赋值)

 

运算符后的表达式位运算

如果两个位置上的位均为 1,则结果为 1。
1010 1010 = 170 
0100 1011 = 75 
----------------- 
0000 1010 = 10
或 
如果两个位置上任意一个位置的位为 1,则结果为 1。
1010 1010 = 170 
0100 1011 = 75 
----------------- 
1110 1011 = 235
NOT 
对每个位位置上的位值取反。
1010 1010 = 170 
----------------- 
0101 0101 = 85
  • 位运算符的操作数可以是整数或二进制字符串数据类型类别中的任何数据类型(image 数据类型除外),但两个操作数不能同时是二进制字符串数据类型类别中的某种数据类型。 下表显示所支持的操作数数据类型。

左操作数右操作数
binaryint、smallint 或 tinyint
bitint、smallint、tinyint 或 bit
intint、smallint、tinyint、binary 或 varbinary
smallintint、smallint、tinyint、binary 或 varbinary
tinyintint、smallint、tinyint、binary 或 varbinary
varbinaryint、smallint 或 tinyint

三 字符串运算符

3.1 +(字符串串联)(Transact-SQL)

字符和二进制数据类型类别中的任何一个数据类型的有效表达式,但 image、ntext 或 text 数据类型除外。 两个表达式必须具有相同的数据类型,或者其中一个表达式必须能够隐式转换为另一个表达式的数据类型。

SELECT user_name + '_' + USER_PWD s FROM A70_USERS_ZH

张春生_4959
朱艳平_4926

 

SELECT 'The order is due on ' + CONVERT(varchar(12), DueDate, 101)  
FROM Sales.SalesOrderHeader  
WHERE SalesOrderID = 50001;  
GO  

下面是结果集:

------------------------------------------------  
The order is due on 04/23/2007  
(1 row(s) affected)

 

3.2 +=(字符串串联赋值)(Transact-SQL)

将两个字符串串联起来并将一个字符串设置为运算结果。 例如,如果变量 @x 等于 'Adventure',则 @x += 'Works' 会接受 @x 的原始值,将 'Works' 添加到该字符串中并将 @x 设置为该新值 'AdventureWorks'。

DECLARE @v1 varchar(40);  
SET @v1 = 'This is the original.';  
SET @v1 += ' More text.';  
PRINT @v1;  

下面是结果集:

This is the original. More text.

3.3 %百分比字符(通配符 - 需匹配的字符)(Transact-SQL)

3.4 [ ](通配符 - 要匹配的字符)(Transact-SQL)

匹配指定范围内或者属于方括号 [ ] 所指定的集合中的任意单个字符。 可以在涉及模式匹配的字符串比较(例如,LIKE 和 PATINDEX)中使用这些通配符。

 

复制

SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';

下面是结果集:

复制

name
-----
model
msdb

 

3.5 [^](通配符 - 无需匹配的字符)(Transact-SQL)

匹配不在方括号之间指定的范围或集合内的任何单个字符。

示例

下面的示例使用 [^] 运算符在 Contact 表中查找所有名字以 Al 开头且第三个字母不是字母 a 的所有人。

- Uses AdventureWorks SELECT FirstName, LastName FROM Person.Person WHERE FirstName LIKE 'Al[^a]%' ORDER BY FirstName;

3.6 通配符 - 匹配一个字符)(Transact-SQL)

下划线字符 用于匹配涉及模式匹配的字符串比较操作(如 LIKE 和 PATINDEX)中的任何单个字符。

 

SQL复制

SELECT name FROM sys.databases
WHERE name LIKE 'm_d%';

下面是结果集:

复制

name
-----
model
msdb

这篇关于SQL数据库开发—TSQL-—运算符2不常用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/775907

相关文章

MySQL 筛选条件放 ON后 vs 放 WHERE 后的区别解析

《MySQL筛选条件放ON后vs放WHERE后的区别解析》文章解释了在MySQL中,将筛选条件放在ON和WHERE中的区别,文章通过几个场景说明了ON和WHERE的区别,并总结了ON用于关... 今天我们来讲讲数据库筛选条件放 ON 后和放 WHERE 后的区别。ON 决定如何 "连接" 表,WHERE

mysql_mcp_server部署及应用实践案例

《mysql_mcp_server部署及应用实践案例》文章介绍了在CentOS7.5环境下部署MySQL_mcp_server的步骤,包括服务安装、配置和启动,还提供了一个基于Dify工作流的应用案例... 目录mysql_mcp_server部署及应用案例1. 服务安装1.1. 下载源码1.2. 创建独立

VSCode开发中有哪些好用的插件和快捷键

《VSCode开发中有哪些好用的插件和快捷键》作为全球最受欢迎的编程工具,VSCode的快捷键体系是提升开发效率的核心密码,:本文主要介绍VSCode开发中有哪些好用的插件和快捷键的相关资料,文中... 目录前言1、vscode插件1.1 Live-server1.2 Auto Rename Tag1.3

Mysql中RelayLog中继日志的使用

《Mysql中RelayLog中继日志的使用》MySQLRelayLog中继日志是主从复制架构中的核心组件,负责将从主库获取的Binlog事件暂存并应用到从库,本文就来详细的介绍一下RelayLog中... 目录一、什么是 Relay Log(中继日志)二、Relay Log 的工作流程三、Relay Lo

MySQL日志UndoLog的作用

《MySQL日志UndoLog的作用》UndoLog是InnoDB用于事务回滚和MVCC的重要机制,本文主要介绍了MySQL日志UndoLog的作用,文中介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、Undo Log 的作用二、Undo Log 的分类三、Undo Log 的存储四、Undo

MySQL游标和触发器的操作流程

《MySQL游标和触发器的操作流程》本文介绍了MySQL中的游标和触发器的使用方法,游标可以对查询结果集进行逐行处理,而触发器则可以在数据表发生更改时自动执行预定义的操作,感兴趣的朋友跟随小编一起看看... 目录游标游标的操作流程1. 定义游标2.打开游标3.利用游标检索数据4.关闭游标例题触发器触发器的基

MySQL查看表的历史SQL的几种实现方法

《MySQL查看表的历史SQL的几种实现方法》:本文主要介绍多种查看MySQL表历史SQL的方法,包括通用查询日志、慢查询日志、performance_schema、binlog、第三方工具等,并... 目录mysql 查看某张表的历史SQL1.查看MySQL通用查询日志(需提前开启)2.查看慢查询日志3.

MySQL底层文件的查看和修改方法

《MySQL底层文件的查看和修改方法》MySQL底层文件分为文本类(可安全查看/修改)和二进制类(禁止手动操作),以下按「查看方法、修改方法、风险管控三部分详细说明,所有操作均以Linux环境为例,需... 目录引言一、mysql 底层文件的查看方法1. 先定位核心文件路径(基础前提)2. 文本类文件(可直

Java实现字符串大小写转换的常用方法

《Java实现字符串大小写转换的常用方法》在Java中,字符串大小写转换是文本处理的核心操作之一,Java提供了多种灵活的方式来实现大小写转换,适用于不同场景和需求,本文将全面解析大小写转换的各种方法... 目录前言核心转换方法1.String类的基础方法2. 考虑区域设置的转换3. 字符级别的转换高级转换

Python使用Matplotlib和Seaborn绘制常用图表的技巧

《Python使用Matplotlib和Seaborn绘制常用图表的技巧》Python作为数据科学领域的明星语言,拥有强大且丰富的可视化库,其中最著名的莫过于Matplotlib和Seaborn,本篇... 目录1. 引言:数据可视化的力量2. 前置知识与环境准备2.1. 必备知识2.2. 安装所需库2.3