SqlServer数据库要求按照两数相减结果的绝对值正序排列怎么写sql语句?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SqlServer数据库要求按照两数相减结果的绝对值正序排列怎么写sql语句?相关的知识,希望对你有一定的参考价值。
假设某字段有三个数字100,200,400,要求按照最接近200这个数字顺序排列,最终排序结果为:200,100,400!求解应该如何写sql语句?或者用EF如何实现?
参考技术A order by abs(字段-200) 参考技术B select id,abs(result-200)as n from table order by n desc;本回答被提问者和网友采纳python.day.01——运算符分类
运算符分类:
算数运算符、赋值运算符、比较运算符、逻辑运算符、成员运算符
一、算数运算符
运算符 | 描述 | 实例(a=3,b=2) |
+ | 加运算:两数相加 | a + b = 5 |
- | 减运算:两数相减 |
a - b = 1 |
* | 乘运算:两个数相乘 | a * b = 6 |
/ | 除运算:两数相除(注意和C,C++中“/”运算区别) | a / b =1.5 |
% | 取余运算:两数相除取余 | a % b = 1 |
** | 幂运算:返回a的b次幂 | a ** b = 9 |
// | 取整运算:返回商的整数部分 | a // b = 1 |
注意:%,若要输出百分号“%”必须是print("%%")
二、赋值运算
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | c = a + b 将 a + b 的运算结果赋值为 c |
+= | 加法赋值运算符 | c += a 等效于 c = c + a |
-= | 减法赋值运算符 | c -= a 等效于 c = c - a |
*= | 乘法赋值运算符 | c *= a 等效于 c = c * a |
/= | 除法赋值运算符 | c /= a 等效于 c = c / a |
%= | 取模赋值运算符 | c %= a 等效于 c = c % a |
**= | 幂赋值运算符 | c **= a 等效于 c = c ** a |
//= | 取整除赋值运算符 | c //= a 等效于 c = c // a |
三、比较运算
1.==、>、>=、<、<=、!=
2.返回结果:布尔值 true、faluse (所有的比较运算符返回1表示真,返回0表示假)
3.运用场景:一般一组比较值,我们称之为条件表达式
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | (a == b) 返回 False。 |
!= | 不等于 - 比较两个对象是否不相等 | (a != b) 返回 true. |
> | 大于 - 返回x是否大于y | (a > b) 返回 False。 |
< |
小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。 |
(a < b) 返回 true。 |
>= | 大于等于 - 返回x是否大于等于y。 | (a >= b) 返回 False。 |
<= | 小于等于 - 返回x是否小于等于y。 | (a <= b) 返回 true。 |
四、逻辑运算符
1. and、or
2、一般也经常被我们用作条件表达式:if、while
3、结果:and:真真为真
or:假假为假
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
五、成员运算符
1.in、not in
2.结果:布尔值 true、faluse
运算符 | 描述 | 实例 |
---|---|---|
in | 如果在指定的序列中找到值返回 True,否则返回 False。 | x 在 y 序列中 , 如果 x 在 y 序列中返回 True。 |
not in | 如果在指定的序列中没有找到值返回 True,否则返回 False。 | x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。 |
六、身份运算符
运算符 | 描述 | 实例 |
---|---|---|
is | is 是判断两个标识符是不是引用自一个对象 | x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False |
is not | is not 是判断两个标识符是不是引用自不同对象 |
x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True, 否则返回 False。 |
使用实例:
#Python身份运算符 a = 20 b = 20 #is是判断两个标识符是否是引用同一个对象 if(a is b): print(‘a和b有相同的标识‘) else: print(‘a和b没有相同的标识‘) #is not是判断两个标识符是不是引用自不同对象 if(a is not b): print(‘a和b没有相同的标识‘) else: print(‘a和b有相同的标识‘) #修改变量b的值 b = 30 if(a is b): print(‘a和b有相同的标识‘) else: print(‘a和b没有相同的标识‘) if(a is not b): print(‘a和b没有相同的标识‘) else: print(‘a和b有相同的标识‘)
实例输出的结果: a和b有相同的标识 a和b有相同的标识 a和b没有相同的标识 a和b没有相同的标识
七、Python运算符优先级
以下表格列出了运算符的优先级:高--->低
运算符 | 描述 |
---|---|
** | 指数 (最高优先级) |
~ + - | 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected]) |
* / % // | 乘,除,取模和取整除 |
+ - | 加法减法 |
>> << | 右移,左移运算符 |
& | 位 ‘AND‘ |
^ | | 位运算符 |
<= < > >= | 比较运算符 |
<> == != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
以上是关于SqlServer数据库要求按照两数相减结果的绝对值正序排列怎么写sql语句?的主要内容,如果未能解决你的问题,请参考以下文章