SQL SERVER 的小技巧

博客介绍了SQL中运算符的优先顺序,当复杂表达式有多个运算符时,高等级运算符先求值。还提及不常用二进制运算符的独特用处,此外给出建表及特殊排序方法示例,体现了SQL使用中的变通思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

None.gif运算符的优先顺序
None.gif当一个复杂的表达式有多个运算符时,运算符优先性决定执行运算的先后次序。执行的顺序可能严重地影响所得到的值。
None.gif
None.gif运算符有下面这些优先等级。在较低等级的运算符之前先对较高等级的运算符进行求值。 
None.gif
None.gif
+(正)、-(负)、~(按位 NOT
None.gif
None.gif
None.gif
*(乘)、/(除)、%(模)
None.gif
None.gif
None.gif
+(加)、(+ 串联)、-(减)
None.gif
None.gif
None.gif
=,  >,  <,  >=,  <=,  <>,  !=,  !>,  !< 比较运算符
None.gif
None.gif
None.gif
^(位异或)、&(位与)、|(位或)
None.gif
None.gif
None.gif
NOT
None.gif
None.gif
None.gif
AND
None.gif
None.gif
None.gif
ALLANYBETWEENINLIKEORSOME
None.gif
None.gif
None.gif
=(赋值) 
None.gif

运算符, 不常用的 二进制 运算符,在某些方面也有独特的用处,例如: 正^正=正 ... ...

None.gif--建一张和某(几)张表结构相同的表
None.gif

None.gif
SELECT * INTO [新表] FROM [源表] WHERE 1 = 0
None.gif
ExpandedBlockStart.gifContractedBlock.gif
/**//*此种方式建立的表,只有基本的结构,主键等的附加信息都没有了*/

ExpandedBlockStart.gifContractedBlock.gif/**//* 一些特殊的排序方法 */
None.gif
-- 1. 
None.gif
select * from table
None.gif
order by 
None.gif
case id 
None.gif 
when 4 then 1
None.gif 
when 5 then 0
None.gif
end
None.gif
None.gif
-- 2.
None.gif
SELECT * FROM table 
None.gif
ORDER BY id % 5
None.gif
None.gif
-- 3.
None.gif

None.gif
SELECT * FROM table
None.gif
ORDER BY RIGHT(id, 3)
None.gif
None.gif
-------------------------------
ExpandedBlockStart.gifContractedBlock.gif
/**//* 总之,就是一些变通的思路 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值