예약 된 단어 타임 스탬프 사용 필드 이름 (Firebird 2.5)
-
05-07-2019 - |
문제
MSSQL 및 SQLITE 외에도 Firebird 2.5와 함께 작동하도록 기존 응용 프로그램의 데이터 계층을 확장하고 있지만 걸림돌을 쳤습니다.
데이터/시간을 유형 타임 스탬프로 저장하는 Timestamp라는 필드가 있습니다. 이것은 유형이 DateTime이지만 Firebird 아래에서 MSSQL 및 SQLITE에서 잘 작동합니다. 다음 SQL :
SELECT SysTrnId,'TimeStamp' from "TRANSACTIONS"
겉보기에는 작동하지만 타임 스탬프 필드는 필드 이름 "Constant"로 리턴되고 내용은 "타임 스탬프"텍스트입니다.
Firebird 에서이 작업을 수행 할 수 있습니까? 아니면 필드의 이름을 바꾸고 다른 데이터 계층의 코드를 변경해야합니까?
해결책
Firebird Escape 캐릭터는 이중 인용문입니다 "
. Firebird에서는 이중 인용구로 탈출 해야하는 필드가있는 경우 케이스에 민감 해집니다. 따라서, 당신이 당신의 분야를로 선언했다면 TimeStamp
, 그 다음에 select "TIMESTAMP" ...
필드가 발견되지 않은 오류로 실패합니다.
다른 팁
그것이 작동하는지 모르겠지만 "타임 스탬프"주변에서 이중 인용문을 시도 했습니까? 단일 따옴표는 일반적으로 일정한 문자열을 나타냅니다.
문안 인사
케이
제휴하지 않습니다 StackOverflow