sqlserver减位,sql 减

求sql语句。得出表中两列相减的值

1、语句如下:

创新互联建站是专业的南山网站建设公司,南山接单;提供网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行南山网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

select A, B, A-B as C from 表1

2、计算列:

可以使用同一表中的其他列的表达式计算得来。表达式可以是非计算列的列名、常量、函数,也可以是用一个或多个运算符连接的上述元素的任意组合。表达式不能为子查询。

语句中的A-B就是计算列,as C的意思是给这个计算列起个列名叫C。

只要符合上述规则,你可以任意组合字段、运算符等,形成需要的计算列。

扩展资料:

计算列应用范围

计算列可用于选择列表、WHERE 子句、ORDER BY 子句或任何可使用正则表达式的其他位置,但下列情况除外:

用作 CHECK、FOREIGN KEY 或 NOT NULL 约束的计算列必须标记为 PERSISTED。如果计算列的值由具有确定性的表达式定义,并且索引列中允许使用计算结果的数据类型,则可将该列用作索引中的键列,或者用作 PRIMARY KEY 或 UNIQUE 约束的一部分。

例如,如果表中含有整数列 a 和 b,则可以对计算列 a + b 创建索引,但不能对计算列 a + DATEPART(dd, GETDATE()) 创建索引,因为在后续调用中,其值可能发生改变。

计算列不能作为 INSERT 或 UPDATE 语句的目标。

数据库引擎基于使用的表达式自动确定计算列的为 Null 性。即使只有非空列,大多数表达式的结果也“认为”可为空值,因为下溢或溢出生成的结果也可能为空。使用带 AllowsNull 属性的 COLUMNPROPERTY 函数可查明表中任何计算列的为 Null 性。通过指定 ISNULL (check_expression, constant) 可以将可为空值的表达式转换为不可为空值的表达式,其中, constant 是可替换所有空结果的非空值.

参考资料:

百度百科.计算列

sql2000数据库中如何实现同一列的数据相减(即下一行数据减去上一行数据)?

表结构? 测试数据?

按哪一列排序?

测试数据.

CREATE TABLE temp (

year INT,

salary INT

);

INSERT INTO temp VALUES(2000, 1000);

INSERT INTO temp VALUES(2001, 2000);

INSERT INTO temp VALUES(2002, 3000);

INSERT INTO temp VALUES(2003, 4000);

预期要求结果:

year salary

2000 1000

2001 1000

2002 1000

2003 10000

SELECT

year,

salary - ISNULL((SELECT TOP 1 salary FROM temp t2 WHERE t2.year temp.year ORDER BY year DESC), 0) AS salary

FROM

temp;

go

year salary

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

2000 1000

2001 1000

2002 1000

2003 1000

(4 行受影响)

SqlServer数据库表明明是小数点后有一位数的小数相加减为什么结果出现小数点后好多位数的小数

设置字段类型为

Decimal (p,1)

固定精度为P,1是保存小数点后一位数


当前文章:sqlserver减位,sql 减
文章网址:http://ybzwz.com/article/dseisjh.html