두 개의 다른 막대 열의 연결을 나타내는 열 추가
직원 테이블이 있는데 "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
'programing' 카테고리의 다른 글
판다를 사용하여 둘 이상의 최대 열 찾기 (0) | 2023.07.06 |
---|---|
exec(@sql)에서 값 반환 (0) | 2023.07.06 |
VBA에서 사용되지 않는 변수를 알 수 있는 방법이 있습니까? (0) | 2023.07.06 |
Oracle SQL: 인라인 뷰에 있을 때 SYS_GUID()의 동작을 이해하시겠습니까? (0) | 2023.07.06 |
'_body' 속성이 'Response' 유형에 없습니다. (0) | 2023.07.06 |