zhangha958 发表于 2020-2-3 21:09

SQL正数改负数

本帖最后由 zhangha958 于 2020-2-8 19:31 编辑


请教各位大佬,序号为5的时候值为负数SQL怎么写, select 序号,值 FROM 价格表

很快再相见123 发表于 2020-2-3 21:28

尝试下case when

zyl5664 发表于 2020-2-3 21:29

取绝对值吧,mysql应该有这种函数,查一下就行了。

zhangha958 发表于 2020-2-3 21:38

zyl5664 发表于 2020-2-3 21:29
取绝对值吧,mysql应该有这种函数,查一下就行了。

ORACLE的

FrancisX 发表于 2020-2-3 21:43

尝试case when。
当为5的时候取相反值,则 0 - 值。
前提是,无论序号为5的值是正是负,都取相反值。

zhangha958 发表于 2020-2-3 22:06

FrancisX 发表于 2020-2-3 21:43
尝试case when。
当为5的时候取相反值,则 0 - 值。
前提是,无论序号为5的值是正是负,都取相反值。

{:1_896:}可以了,很简单的问题,我想的太复杂了,走了弯路,真是山路十八万

zhangha958 发表于 2020-2-3 22:09

很快再相见123 发表于 2020-2-3 21:28
尝试下case when

谢谢,可以了

zyl5664 发表于 2020-2-3 22:10

SELECT t.* from dev_test1_tbl t order by id desc ;
1        4        -200        20/2/3 PM 2:09:09
2        3        -100        20/2/3 PM 2:09:09
3        2        200        20/2/3 PM 2:09:09
4        1        100        20/2/3 PM 2:09:09


-----------------------------------------


SELECT t.id,ABS(t.num) from dev_test1_tbl t order by id desc ;
1        4        200
2        3        100
3        2        200
4        1        100
-------------
一个ABS函数就行了啊- - 。

zhangha958 发表于 2020-2-3 22:15

zyl5664 发表于 2020-2-3 22:10
SELECT t.* from dev_test1_tbl t order by id desc ;
1        4        -200        20/2/3 PM 2:09:09
2        3        -100        20/2/3 PM 2 ...

ABS函数是做重复值的吗,我试了一下,不是重复值貌似没效果

lj4133 发表于 2020-2-4 11:28

当序号为5的时候,值*-1也是可以的
页: [1] 2
查看完整版本: SQL正数改负数