Sta*_*hie 19 sql oracle concatenation oracle-sqldeveloper
我有一个employees表,我想添加一个第三列,它被称为名为"FullName"的名字和名字的串联.如何在不丢失前两列任何数据的情况下实现这一目标?
Mat*_*gen 14
快速序言:此答案基于此问题与SQL Server相关的原始错误标记.我不再了解它在Oracle SQL Developer上的有效性.
ALTER TABLE Employees ADD FullName AS (FirstName + ' ' + LastName)
Run Code Online (Sandbox Code Playgroud)
虽然在实践中我建议你在你的手术中进行手术SELECT
.这有些偏好,但我倾向于认为在最终查询中做事比存储额外的计算列更清晰,更易读,更易于维护.
编辑:
这最终被找到了答案,并被OP列为对这篇文章的评论.以下是Oracle Sql Database的相应语法.
ALTER TABLE emps MODIFY (FULL_NAME VARCHAR2(50) GENERATED ALWAYS AS (first_name || ' ' || last_name) VIRTUAL);
Run Code Online (Sandbox Code Playgroud)
小智 5
如果从数据库中选择时始终需要全名列,那么您可以在创建表员工时创建计算列。
例如:
CREATE TABLE Employee
(
FirstName VARCHAR(20),
LastName VARCHAR(20),
FullName AS CONCAT(FirstName,' ',LastName)
)
INSERT INTO Employee VALUES ('Rocky','Jeo')
SELECT * FROM Employee
Output:
FirstName LastName FullName
Rocky Jeo Rocky Jeo
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47735 次 |
最近记录: |