首页
统计
留言
友链
壁纸
Search
1
Notion网页端汉化、主题修改
709 阅读
2
SnapicPlus主题添加视频功能以及使用外链详解、图片加载缓慢问题解决
551 阅读
3
Gravatar镜像源地址大全
538 阅读
4
typecho主题中文搜索404问题解决
510 阅读
5
Notion客户端中文安装
444 阅读
Web前端
ES6
Vue.js
Node.js
JavaScript
其他前端扩展
后端探索
数据库
服务器
小程序
手机端
奇技淫巧
成功之母
时光随笔
登录
Search
标签搜索
SQL
typecho
SqlServer
MySql
jQuery
JavaScript
npm
Gravatar
镜像
google
Java
包管理工具
前端
JS
node
数据库
Notion
BEGIN...END
EXECUTE
404
天祈
累计撰写
66
篇文章
累计收到
14
条评论
首页
栏目
Web前端
ES6
Vue.js
Node.js
JavaScript
其他前端扩展
后端探索
数据库
服务器
小程序
手机端
奇技淫巧
成功之母
时光随笔
页面
统计
留言
友链
壁纸
搜索到
1
篇与
的结果
2022-11-10
11. SQLServer : 运算符
运算符的优先级{callout color="#6eee5d"}如果一个表达式中的两个运算符有相同的优先级别,则按照它们在表达式中的位置对其从左到右进行求值。 例如,在下面的 SET 语句所使用的表达式中,在加运算符之前先对减运算符进行求值。{/callout}{alert type="info"} 级别 运算符 1 ~(位非) 2 *(乘)、/(除)、%(取模) 3 +(正)、-(负)、+(加)、+(串联)、-(减)、&(位与)、^(位异或)、|(位或) 4 =、><>=、<=、<>!=、!>!<(比较运算符) 5 NOT 6 AND 7 ALL、ANY、BETWEEN、IN、LIKE、OR、SOME 8 =(赋值) {/alert}一元运算符{alert type="info"} 运算符 含义 +(正) 数值为正。 -(负) 数值为负。 ~(位非) 返回数字的非。 {/alert}集运算符使用说明{alert type="info"}UNION ALL - 包括重复行UNION - 排除重复行{/alert}基本规则{alert type="info"}所有查询中的列数和列的顺序必须相同。数据类型必须兼容{/alert}算数运算符{alert type="info"}declare @mm int =3; declare @nn int =4; declare @zz nvarchar(255) ='5'; select -@nn+@mm -- 输出:-1 Set @mm += @mm -- 相当于: @mm = @mm + @mm print(@mm) -- 输出:6 print(@mm % @nn) -- 6 % 4 {/alert}比较运算符{alert type="info"} 运算符 含义 =(等于) 等于 >(大于) 大于 <(小于) 小于 >=(大于或等于) 大于等于 <=(小于或等于) 小于或等于 <>(不等于) 不等于 !=(不等于) 不等于(非 ISO 标准) !<(不小于) 不小于(非 ISO 标准) !>(不大于) 不大于(非 ISO 标准) {/alert}字符串运算符字符串串联{alert type="info"}DECLARE @x VARCHAR(4000) = REPLICATE('x', 4000) DECLARE @z VARCHAR(8000) = REPLICATE('z',8000) DECLARE @y VARCHAR(max); SET @y = ''; SET @y += @x + @z; SELECT LEN(@y) AS Y; -- 8000{/alert}通配符-百分比字符 %{alert type="success"}SELECT FirstName, LastName FROM Person.Person WHERE FirstName LIKE 'Dan%'; {/alert}通配符-中括号 []{alert type="info"}-- 返回以 m 字母开头的名称。 [n-z] 指定第二个字母必须是 n 到 z 范围内的某个字母 SELECT name FROM sys.databases WHERE name LIKE 'm[n-z]%'; -- 查找其地址中有四位邮政编码的所有 Adventure Works 雇员的 ID 和姓名 SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode FROM HumanResources.Employee AS e INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID INNER JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]'; {/alert}通配符-无需匹配的字符串 ^{callout color="#676ed0"}匹配不在方括号 [^] 之间指定的范围或集合内的任何单个字符{/callout}{alert type="info"}-- 使用 [^] 运算符查找 Contact 表中名字以 Al 开头且第三个字母不是a的前5名用户 SELECT TOP 5 FirstName, LastName FROM Person.Person WHERE FirstName LIKE 'Al[^a]%'; -- 使用 [^] 运算符来查找不以字母或数字开头的字符串 SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id FROM sys.columns WHERE name LIKE '[^0-9A-z]%';{/alert}通配符- 下划线(匹配一个字符) _{alert type="info"}-- 返回以字母 m 开头且第三个字母为 d 的所有数据库名称 SELECT name FROM sys.databases WHERE name LIKE 'm_d%'; -- 返回 db_owner、db_ddladmin 等固定数据库角色的名称(此时的下划线被视为通配符) SELECT name FROM sys.database_principals WHERE name LIKE 'db_%'; -- 过滤出以 db_ 开头的数据库角色名(转义操作) SELECT name FROM sys.database_principals WHERE name LIKE 'db[_]%';{/alert}
2022年11月10日
155 阅读
0 评论
0 点赞