Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server:我可以从表中的列中获得表中的派生列吗?_Sql Server - Fatal编程技术网

Sql server SQL Server:我可以从表中的列中获得表中的派生列吗?

Sql server SQL Server:我可以从表中的列中获得表中的派生列吗?,sql-server,Sql Server,我想知道我的表中是否可以有一个派生列,当我在该表中插入行时,我猜它是“自动”计算出来的。例如,我想到这样一个表: Object ID | Object Path | File Type 1 /Documents/Subfolder/Subfolder2/FileName.ascx .ascx 2 /Documents/Subfolder/FileName2.png

我想知道我的表中是否可以有一个派生列,当我在该表中插入行时,我猜它是“自动”计算出来的。例如,我想到这样一个表:

Object ID | Object Path                                   | File Type
1           /Documents/Subfolder/Subfolder2/FileName.ascx   .ascx
2           /Documents/Subfolder/FileName2.png              .png
我不知道是否可以从对象路径自动生成文件类型,因为它只是对象路径中数据的一个子字符串


有办法做到这一点吗?现在我正在创建一个返回文件类型的存储过程,但我想知道是否有一种方法可以将文件类型作为表的一部分,而不仅仅是在
SELECT
查询的结果集中。谢谢。

您可以添加计算列,下面是一个示例:

CREATE TABLE dbo.Products 
(
    ProductID int IDENTITY (1,1) NOT NULL
  , QtyAvailable smallint
  , UnitPrice money
  , InventoryValue AS QtyAvailable * UnitPrice
);

-- Insert values into the table.
INSERT INTO dbo.Products (QtyAvailable, UnitPrice)
VALUES (25, 2.00), (10, 1.5);

-- Display the rows in the table.
SELECT ProductID, QtyAvailable, UnitPrice, InventoryValue
FROM dbo.Products;
在本例中,您可以在
对象路径中找到
CHARINDEX
,并执行一个子字符串来填充
文件类型

以下是一些有助于实现此目的的链接:


干杯

可以在表中创建计算列