반응형
열 이름을 이스케이프하는 SQL 표준?
열 이름을 이스케이프하는 SQL 표준이 있습니까? mysql 및 sqlite에서 작동하지 않는 것은 무엇입니까? sqlserver에서도 작동합니까?
인용 부호 "
SQL : 1999 표준 지정 따옴표는 ( ") (즉, 인용문 마크 )를 단락 식별자로 사용된다.
<delimited identifier> ::= <double quote> <delimited identifier body> <double quote>
Oracle, PostgreSQL, MySQL, MSSQL 및 SQlite는 모두 "
식별자 구분 기호로 지원 됩니다.
모두 "
'기본값'으로 사용되지는 않습니다 . 예를 들어, ANSI 모드 에서 MySQL을 실행해야 하며 SQL Server QUOTED_IDENTIFIER
는 ON
.
SQLite 에 따르면 ,
'foo'
SQL 문자열입니다."foo"
SQL 식별자 (열 / 테이블 / 기타)[foo]
MS SQL의 식별자입니다.`foo`
MySQL의 식별자입니다.
정규화 된 이름의 경우 구문은 "t"."foo"
또는 [t].[foo]
등입니다.
ANSI_QUOTES
옵션이 활성화 되면 MySQL은 표준 "foo"를 지원합니다 .
MS SQL의 경우 [및] 사용
SELECT [COLUMN], [COLUMN 2] FROM [TABLE]
MySQL의 경우 백틱`.
예를 들면 :
SELECT `column`, `column2` FROM `table`
DBASE / DBF 사용 [
및]
SELECT [DATE], [TIME], [ANY_OTHER_TO_BE_ESCAPED_COLUMN] FROM [TABLE]
참고 URL : https://stackoverflow.com/questions/2901453/sql-standard-to-escape-column-names
반응형
'IT story' 카테고리의 다른 글
동일한 프로젝트의 다른 파일에서 모듈을 포함하는 방법은 무엇입니까? (0) | 2020.09.13 |
---|---|
Android : AlarmManager 사용 방법 (0) | 2020.09.13 |
Node.js 또는 Erlang (0) | 2020.09.13 |
C의 물결표 연산자 (0) | 2020.09.13 |
mongoDB / mongoose : null이 아닌 경우 고유 (0) | 2020.09.13 |