source

SQL에서 단일 따옴표와 이중 따옴표의 차이점은 무엇입니까?

bestscript 2023. 5. 20. 23:39

SQL에서 단일 따옴표와 이중 따옴표의 차이점은 무엇입니까?

SQL에서 싱글 따옴표와 더블 따옴표의 차이점은 무엇입니까?

작은 따옴표는 SQL에서 문자열의 시작과 끝을 나타내는 데 사용됩니다.큰따옴표는 일반적으로 SQL에서 사용되지 않지만 데이터베이스마다 다를 수 있습니다.

작은 따옴표를 사용해야 합니다.

어쨌든 그것이 주요 용도입니다.열 별칭에 작은 따옴표를 사용할 수 있습니다. 여기서 응용 프로그램 코드에서 참조하는 열 이름을 데이터베이스에서 실제로 열이 호출되는 이름과 다른 이름으로 지정할 수 있습니다.예:PRODUCT.id로서 더 읽기 쉬울 것입니다.product_id따라서 다음 중 하나를 사용합니다.

  • SELECT PRODUCT.id AS product_id
  • SELECT PRODUCT.id 'product_id'

Oracle, SQL Server, MySQL 등에서 모두 작동하지만 일부에서는 Toad IDE가 단일 견적 접근 방식을 사용할 때 약간의 슬픔을 주는 것 같다고 말합니다.

열 별칭에 공백 문자가 포함된 경우(예:product id그러나 열 별칭이 두 단어 이상인 경우에는 권장되지 않습니다.

다음과 같은 경우에 사용할 내용을 기억해야 하는 간단한 규칙:

  • 작은따옴표는 [S] 문자열 리터럴(날짜 리터럴도 문자열)에 대한 것입니다.
  • 이중 따옴표는 [D]데이터베이스 식별자에 대한 것입니다.

예:

INSERT INTO "USERS" ("LOGIN", "PASSWORD", "DT_BIRTH") VALUES ('EDUARDO', '12345678', '1980-09-06');

MySQL 및 MariaDB에서 "(백티크) 기호는 " 기호와 동일합니다.그리고 문자 그대로의 문자열에 "를 사용할 수 없습니다.ANSI_QUOTES가능한.

따옴표는 문자열 상수 또는 날짜/시간 상수를 구분합니다.

큰따옴표는 테이블 이름 또는 열 이름과 같은 식별자를 구분합니다.일반적으로 이것은 식별자가 단순 식별자에 대한 규칙에 맞지 않을 때만 필요합니다.

참고 항목:

MySQL이 ANSI 표준에 따라 이중 따옴표를 사용하도록 할 수 있습니다.

SET GLOBAL SQL_MODE=ANSI_QUOTES

마이크로소프트 SQL 서버가 ANSI 표준에 따라 이중 따옴표를 사용하도록 할 수 있습니다.

SET QUOTED_IDENTIFIER ON

ANSI SQL에서 큰따옴표는 객체 이름(예: 테이블)을 따옴표로 묶어서 다른 방법으로 허용되지 않는 문자를 포함하거나 예약된 단어와 같을 수 있습니다(이것은 피하십시오).

작은 따옴표는 문자열에 대한 것입니다.

그러나 MySQL은 (SQL_MODE가 변경되지 않는 한) 표준을 인식하지 못하고 문자열에 대해 상호 교환적으로 사용할 수 있습니다.

또한 Sybase와 Microsoft는 식별자 인용을 위해 대괄호를 사용합니다.

따라서 벤더에 따라 다릅니다.

Postgres 및 IBM과 같은 다른 데이터베이스는 실제로 ansi 표준을 준수합니다 :)

나는 이 니모닉을 사용합니다.

  • 작은 따옴표는 문자열에 대한 것입니다(한 가지).
  • 큰따옴표는 테이블 이름과 열 이름에 대한 것입니다(두 가지).

스펙상 100% 맞는 말은 아니지만, 이 니모닉은 나(인간)에게 도움이 됩니다.

기억해야 할 두 가지:

단일 Qutoes(') : 문자열 또는 텍스트

select * from employees where room_name = 'RobinCapRed';

여기서 RobinCapRed는 문자열 또는 텍스트입니다.

큰따옴표(") : 열 이름 또는 테이블 이름

select "first_name" from "employees";

여기서 first_Name은 직원 테이블의 열 이름입니다.

차이점은 사용법에 있습니다.단일 따옴표는 주로 WHERE, HAVING 및 CONCAT, STRPOS, POSITION 등의 일부 기본 제공 SQL 함수에서 문자열을 참조하는 데 사용됩니다.

공백이 있는 별칭을 사용하려는 경우 큰따옴표를 사용하여 해당 별칭을 참조할 수 있습니다.

예를들면

(select account_id,count(*) "count of" from orders group by 1)sub 

다음은 Account_id가 Foreign 키인 주문 테이블의 하위 쿼리입니다. 각 계정이 얼마나 많은 주문을 했는지 알기 위해 집계합니다.여기서 저는 목적을 위해 하나의 열에 임의의 이름을 "카운트 오브"로 지정했습니다.

이제 외부 쿼리를 작성하여 "count of"가 20보다 큰 행을 표시합니다.

select "count of" from 
(select account_id,count(*) "count of" from orders group by 1)sub where "count of" >20;

공통 테이블 식에도 동일한 경우를 적용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/1992314/what-is-the-difference-between-single-and-double-quotes-in-sql