SQL SERVER 的小技巧
运算符的优先顺序
当一个复杂的表达式有多个运算符时,运算符优先性决定执行运算的先后次序。执行的顺序可能严重地影响所得到的值。
运算符有下面这些优先等级。在较低等级的运算符之前先对较高等级的运算符进行求值。
+(正)、-(负)、~(按位 NOT)
*(乘)、/(除)、%(模)
+(加)、(+ 串联)、-(减)
=, >, <, >=, <=, <>, !=, !>, !< 比较运算符
^(位异或)、&(位与)、|(位或)
NOT
AND
ALL、ANY、BETWEEN、IN、LIKE、OR、SOME
=(赋值)
当一个复杂的表达式有多个运算符时,运算符优先性决定执行运算的先后次序。执行的顺序可能严重地影响所得到的值。
运算符有下面这些优先等级。在较低等级的运算符之前先对较高等级的运算符进行求值。
+(正)、-(负)、~(按位 NOT)
*(乘)、/(除)、%(模)
+(加)、(+ 串联)、-(减)
=, >, <, >=, <=, <>, !=, !>, !< 比较运算符
^(位异或)、&(位与)、|(位或)
NOT
AND
ALL、ANY、BETWEEN、IN、LIKE、OR、SOME
=(赋值)
运算符, 不常用的 二进制 运算符,在某些方面也有独特的用处,例如: 正^正=正 ... ...
--建一张和某(几)张表结构相同的表
SELECT * INTO [新表] FROM [源表] WHERE 1 = 0
/*此种方式建立的表,只有基本的结构,主键等的附加信息都没有了*/
SELECT * INTO [新表] FROM [源表] WHERE 1 = 0
/*此种方式建立的表,只有基本的结构,主键等的附加信息都没有了*/
/* 一些特殊的排序方法 */
-- 1.
select * from table
order by
case id
when 4 then 1
when 5 then 0
end
-- 2.
SELECT * FROM table
ORDER BY id % 5
-- 3.
SELECT * FROM table
ORDER BY RIGHT(id, 3)
-------------------------------
/* 总之,就是一些变通的思路 */
-- 1.
select * from table
order by
case id
when 4 then 1
when 5 then 0
end
-- 2.
SELECT * FROM table
ORDER BY id % 5
-- 3.
SELECT * FROM table
ORDER BY RIGHT(id, 3)
-------------------------------
/* 总之,就是一些变通的思路 */
作者: 三角猫
http://www.zu14.cn/
转载请保留此信息