누군가의 코드를 가져 왔고 이것은 where 절의 일부입니다. 이중 콜론이 무엇을 나타내는 지 아는 사람이 있습니까?
b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
누군가의 코드를 가져 왔고 이것은 where 절의 일부입니다. 이중 콜론이 무엇을 나타내는 지 아는 사람이 있습니까?
b.date_completed > a.dc::date + INTERVAL '1 DAY 7:20:00'
답변:
그것은 RDBMS 기반으로하지만, 내가 바로 추측 경우, 즉, PostgreSQL을있어 변화하는 케이스에서 ::
회심 a.dc
의 날짜 형식을 date
.
다른 맛으로 ...
MS SQL Server 2000에서 :
테이블을 리턴하는 내장 사용자 정의 함수의 경우 내장되지 않은 사용자 정의 함수와 구별하기 위해 함수 이름은 선행 이중 콜론 (: :)으로 지정되어야합니다. 또한 데이터베이스 또는 소유자 자격이없는 한 부분 이름으로 지정되어야합니다. 예 : SELECT * FROM :: fn_helpcollations () b .. 스칼라 값을 반환하는 내장 사용자 정의 함수의 경우 함수 이름은 한 부분으로 된 이름으로 지정되어야합니다 (데이터베이스 또는 소유자를 지정하지 마십시오). 선행 이중 콜론 (: :)을 지정하지 마십시오.
MS SQL Server 2005에서 :
테이블을 반환하는 UDF에는 더 이상 이중 콜론이 필요하지 않습니다.
하나...
SQL Server 2005에서는 스키마, 인증서, 끝점 및 기타 몇 가지 보안 개체에 대한 권한을 부여 할 때 이중 콜론이 필요합니다.
만큼 잘...
사용자 정의 유형을 사용하는 경우 유형의 정적 메서드는 이중 콜론 구문을 사용하여 호출해야합니다.
출처 : BOL 및 Kalen Delaney의 블로그
이 경우 날짜 유형으로 캐스트됩니다. ::는 CAST (expression AS type)로도 표현할 수있는 유형 캐스트입니다.
INTERVAL
지원 기능을 제공하는 다른 RDBMS도 알고 있습니다. 이것은 내가 본 코드 중 두 가지를 결합한 첫 번째 코드입니다. 나는 단지 궁금했다. 답장을 보내 주셔서 감사합니다.
아마도 a.dc
유형으로 변환하는 캐스트 일 것입니다 date
.
IBM Informix Dynamic Server (IDS)는 그런 방식으로 작동합니다.하지만 끝에있는 INTERVAL 표기법은 IDS에 대해 유효하지 않으므로 실제로 이것은 다른 DBMS (아마도 PostgreSQL ) 일 것입니다 .