Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Добавете изчислена колона към съществуваща таблица в SQL Server

Тази статия демонстрира как да използвате T-SQL за добавяне на изчислена колона към съществуваща таблица в SQL Server.

изчислена колона е виртуална колона, която използва израз за изчисляване на стойността си. Изразът обикновено използва данни от други колони. Изчислена колона не се съхранява физически в таблицата, освен ако не е маркирана PERSISTED .

Пример 1 – Създайте таблица БЕЗ изчислена колона

Първо, нека създадем таблица без изчислена колона.

CREATE TABLE Products
  (
    ProductID int IDENTITY (1,1) NOT NULL,
    ProductName varchar(255), 
    Quantity smallint,
    Price money
  );

INSERT INTO Products (ProductName, Quantity, Price)
VALUES 
  ('Hammer', 5, 10),
  ('Corkscrew', 2, 7.50),
  ('Kettle', 3, 25.15);

SELECT *
FROM Products;

Резултат:

+-------------+---------------+------------+---------+
| ProductID   | ProductName   | Quantity   | Price   |
|-------------+---------------+------------+---------|
| 1           | Hammer        | 5          | 10.0000 |
| 2           | Corkscrew     | 2          | 7.5000  |
| 3           | Kettle        | 3          | 25.1500 |
+-------------+---------------+------------+---------+

Пример 2 – Добавяне на изчислена колона

Сега нека добавим изчислена колона.

ALTER TABLE Products 
ADD TotalValue AS (Quantity * Price);

Току-що добавихме изчислена колона, наречена TotalValue което умножава стойността в Quantity колона със стойността в Price колона.

Ето какво се случва, когато изберем съдържанието на таблицата сега:

SELECT *
FROM Products;

Резултат:

+-------------+---------------+------------+---------+--------------+
| ProductID   | ProductName   | Quantity   | Price   | TotalValue   |
|-------------+---------------+------------+---------+--------------|
| 1           | Hammer        | 5          | 10.0000 | 50.0000      |
| 2           | Corkscrew     | 2          | 7.5000  | 15.0000      |
| 3           | Kettle        | 3          | 25.1500 | 75.4500      |
+-------------+---------------+------------+---------+--------------+

Пример 3 – Актуализиране на стойност

Сега, ако стойността се актуализира в Quantity или Price колони, това ще повлияе на общата стойност, върната от изчислената колона.

Пример:

UPDATE Products
SET Quantity = 4
WHERE ProductId = 1;

SELECT *
FROM Products;

Резултат:

+-------------+---------------+------------+---------+--------------+
| ProductID   | ProductName   | Quantity   | Price   | TotalValue   |
|-------------+---------------+------------+---------+--------------|
| 1           | Hammer        | 4          | 10.0000 | 40.0000      |
| 2           | Corkscrew     | 2          | 7.5000  | 15.0000      |
| 3           | Kettle        | 3          | 25.1500 | 75.4500      |
+-------------+---------------+------------+---------+--------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. WHERE IN (масив от идентификационни номера)

  2. ISJSON() Примери в SQL Server (T-SQL)

  3. Проверете дали таблицата съществува в SQL Server

  4. PARSE() срещу CAST() срещу CONVERT() в SQL Server:Каква е разликата?

  5. T-SQL:проверка за имейл формат