programing

두 개의 다른 막대 열의 연결을 나타내는 열 추가

bestprogram 2023. 7. 6. 22:26

두 개의 다른 막대 열의 연결을 나타내는 열 추가

직원 테이블이 있는데 "FullName"이라는 이름의 이름과 성이 연결된 세 번째 열을 추가하려고 합니다.처음 두 열의 데이터를 손실하지 않고 이를 수행하려면 어떻게 해야 합니까?

간단한 서문: 이 질문은 SQL Server와 관련된 원래 잘못된 태그를 기반으로 합니다.Oracle SQL Developer에 대한 유효성을 더 이상 알지 못합니다.

ALTER TABLE Employees ADD FullName AS (FirstName + ' ' + LastName)

하지만 실제로는 당신이 당신의 수술에서 그 수술을 하는 것이 좋습니다.SELECT개인적인 선호 사항이지만, 추가적인 계산된 열을 저장하는 것보다 엔드 쿼리에서 작업을 수행하는 것이 좀 더 깨끗하고, 읽기 쉽고, 유지 관리가 쉽다고 생각하는 경향이 있습니다.

편집:

이것은 결국 답으로 발견되었고, OP에 의해 이 게시물에 대한 논평으로 나열되었습니다.다음은 Oracle SQL 데이터베이스에 적합한 구문입니다.

ALTER TABLE emps MODIFY (FULL_NAME VARCHAR2(50) GENERATED ALWAYS AS (first_name || ' ' || last_name) VIRTUAL); 

데이터베이스에서 선택할 때 항상 전체 이름 열이 필요한 경우 테이블 직원을 만들 때 계산된 열을 만들 수 있습니다.

예:

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

데이터베이스에 새 열을 추가해야 하는지, 아니면 필요에 따라 "전체 이름"을 쿼리해야 하는지는 사용자의 목적에 따라 다릅니다.

즉시 확인하려면 쿼리를 실행하십시오.

SELECT firstname + ' ' + lastname AS FullName FROM employees

또한 저장할 간단한 저장 프로시저를 만들 수도 있습니다.

(단일 결과의 경우 where 조건과 동일하게 사용)

select * 
from TABLE_name 
where (Column1+Column2) in (11361+280,11365+250)

@Jacky의 답변 외에도 테이블이 아닌 쿼리에 이를 추가하려는 경우 선택 문에 사용할 수 있는 CONCAT() 기능도 있습니다.

SELECT CONCAT(FirstName, ' ', LastName) as FullName
FROM table_name

언급URL : https://stackoverflow.com/questions/24729372/add-a-column-that-represents-a-concatenation-of-two-other-varchar-columns