這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 编程语言 » 创建计算列的sql语句
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

创建计算列的sql语句

发布时间: 2022-04-20 05:46:21

⑴ 怎么编写加减法运算的sql语句

直接通过“+”、“-”符号运算即可;

sql1:select 11 -5 from al;结果就是 6;

sql2:select 11+5 from al;结果就是11;

sql3:select sysdate -sysdate from al;结果就是 0(时间类型);

解释:能进行加减运行的必须是数值类型number,或者是时间类型。字符串类型无法进行加减。

拓展资料:

SQL语言,是结构化查询语言(StructuredQueryLanguage)的简称。SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。

SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。

⑵ SQL语句在SQL Server中创建表时如何引用其他表的字段来进行计算

1、登陆sql server。


注意事项:

表之间的列要用英文的【逗号】隔开,表的SQL语句不区分大小写,SQL语句只能在整个编辑结束时才能用分号,也可以不用分号。

⑶ 在sql server中如何在一个表中添加计算列

如果你用的是sql
server,右键点订购表,选择“设计”,然后打开表设计视图,选择列名:订购编号,在下面显示列属性,找到标识规范,(是标识)修改成“是”,标识增量和标识种子修改成“1”,这样订购编号就会自增长了。如果是其他数据库,需要将这个字段设置成int型“自动编号”。希望能够帮助到你。

⑷ 如何在用sql语句在创建表时创建计算列

计算列的数据类型就是你的表达式结果的数据类型。如果要指定与计算公式不同的类型,请用cast/convert函数进行类型转换:
create table tb_person (
id int not null primary key,
name varchar(32),
birthday datetime,
cast(datediff(day,birthday,getdate())/365 as int) as age,

⑸ MSSQL如何用命令在表中建立一个列,并赋予它另外一列的值,回答可用,再追加100分,谢谢啦!

问题1:
有两种方法实现。
1. 使用计算列,产量2始终和产量1保持一致。产量1被修改后,产量2也跟着变。就像Excel中的公式。
alert table [厂资料] add column 产量2 as 产量1;

2. 先增加产量2,然后复制数据。这种方法产量2不会自动跟着产量1变。
alert table [厂资料] add column 产量2 int;
update [厂资料] set 产量2 = 产量1; -- 复制产量1到产量2

问题2:
除非在[厂家]表上创建触发器,否则不能自动更行[公司名2]。可以用如下语句一次性更新[公司名2]表。
update [公司名2] set 公司ID = a.公司ID from [公司名2] as b, [厂家] as a
where b.公司名 = a.公司名

⑹ sql建表语句怎么写啊!高手的教教我!

下例显示 pubs 数据库中所创建的三个表(jobs、employee 和 publishers)的完整表定义,其中包含所有的约束定义。/* ************************** jobs table ************************** */ CREATE TABLE jobs ( job_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, job_desc varchar(50) NOT NULL DEFAULT 'New Position - title not formalized yet', min_lvl tinyint NOT NULL CHECK (min_lvl >= 10), max_lvl tinyint NOT NULL CHECK (max_lvl <= 250) ) /* ************************* employee table ************************* */ CREATE TABLE employee ( emp_id empid CONSTRAINT PK_emp_id PRIMARY KEY NONCLUSTERED CONSTRAINT CK_emp_id CHECK (emp_id LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' or emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]'), /* Each employee ID consists of three characters that represent the employee's initials, followed by a five digit number ranging from 10000 through 99999 and then the employee's gender (M or F). A (hyphen) - is acceptable for the middle initial. */ fname varchar(20) NOT NULL, minit char(1) NULL, lname varchar(30) NOT NULL, job_id smallint NOT NULL DEFAULT 1 /* Entry job_id for new hires. */ REFERENCES jobs(job_id), job_lvl tinyint DEFAULT 10, /* Entry job_lvl for new hires. */ pub_id char(4) NOT NULL DEFAULT ('9952') REFERENCES publishers(pub_id), /* By default, the Parent Company Publisher is the company to whom each employee reports. */ hire_date datetime NOT NULL DEFAULT (getdate()) /* By default, the current system date is entered. */ ) /* ***************** publishers table ******************** */ CREATE TABLE publishers ( pub_id char(4) NOT NULL CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756') OR pub_id LIKE '99[0-9][0-9]'), pub_name varchar(40) NULL, city varchar(20) NULL, state char(2) NULL, country varchar(30) NULL DEFAULT('USA') ) G. 在列中使用 uniqueidentifier 数据类型 下例创建含有 uniqueidentifier 列的表。该表使用 PRIMARY KEY 约束以确保用户不会在表中插入重复的值,并在 DEFAULT 约束中使用 NEWID() 函数为新行提供值。CREATE TABLE Globally_Unique_Data (guid uniqueidentifier CONSTRAINT Guid_Default DEFAULT NEWID(), Employee_Name varchar(60), CONSTRAINT Guid_PK PRIMARY KEY (Guid) ) H. 对计算列使用表达式 下例显示如何使用表达式 ((low + high)/2) 计算 myavg 计算列。CREATE TABLE mytable ( low int, high int, myavg AS (low + high)/2 ) I. 对计算列使用 USER_NAME 函数 下例在 myuser_name 列中使用 USER_NAME 函数。CREATE TABLE mylogintable ( date_in datetime, user_id int, myuser_name AS USER_NAME() ) J. 使用 NOT FOR REPLICATION 下例显示如何在订阅了复制的表中使用 IDENTITY 属性。此表包含 CHECK 约束,以确保此系统生成的 SaleID 值不会增长到为复制发布服务器指派的范围内。CREATE TABLE Sales (SaleID INT IDENTITY(100000,1) NOT FOR REPLICATION, CHECK NOT FOR REPLICATION (SaleID <= 199999), SalesRegion CHAR(2), CONSTRAINT ID_PK PRIMARY KEY (SaleID) )

⑺ 怎样用sql语句动态的添加一列

使用视图可以实现,视图中的语句如下:
SELECT test1, test2, test1 + test2 AS Expr1 FROM dbo.Table_2
Expr1这一列可以实时获得

⑻ 在SQL中,怎么进行列的计算

update proct set vprice=price*0.6

⑼ 表末添加一列,用来计算前面各列的总和,SQL语句怎么写

例如添加列total
alter table 表名
add total int

然后将各列的值刷到total列中
update 表名
set total=列1+列2+列3...
where total is not null

⑽ sql语句如何在表中新建一列

主键肯定不能为not null了- -
还有就是看看有没约束
ALTER TABLE 只允许添加满足下述条件的列: 列可以包含空值;或者列具有指定的 DEFAULT 定义;或者要添加的列是标识列或时间戳列;或者,如果前几个条件均未满足,则表必须为空以允许添加此列。不能将列xxx添加到非空表xx中,因为它不满足上述条件。
alter table xx add 添加列表要是空的
指定列是否可接受空值。如果列不允许空值,则只有在指定了默认值或表为空的情况下,才能用 ALTER TABLE 语句添加该列。只有同时指定了 PERSISTED 时,才能为计算列指定 NOT NULL。如果新列允许空值,但没有指定默认值,则新列在表中的每一行都包含一个空值。如果新列允许空值,并且指定了新列的默认值,则可以使用 WITH VALUES 将默认值存储到表中每个现有行的新列中。
如果新列不允许空值,并且表不为空,那么 DEFAULT 定义必须与新列一起添加;并且,加载新列时,每个现有行的新列中将自动包含默认值。
在 ALTER COLUMN 语句中指定 NULL,可以强制 NOT NULL 列允许空值,但 PRIMARY KEY 约束中的列除外。只有列中不包含空值时,才可以在 ALTER COLUMN 中指定 NOT NULL。必须将空值更新为某个值后,才允许执行 ALTER COLUMN NOT NULL 语句,例如:
因为新建不能为空所以要先新建个可以为空的列
然后强制为空
下面代码以测试
alter table 表名 add 列名 nvarchar(20) nullgoUPDATE 表名 SET stuName = N'some_value' WHERE 列名 IS NULL