這裡蒐索程式師資訊,查找有用的技術資料
當前位置:首頁 » 編程語言 » 創建計算列的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