PQgetvalue(pgconn, col, row)의 값은 char * 형의 문자열로
되돌려 주는데요, char * 형이 아닌 다른 형으로 얻는 방법이 없을까요?
char * 및 binary, int, unsigned int 등의 일반적인 형식은 char * 로
응답을 주더라도 별 문제가 되질 않는데, timestamp 같은 특수한
타입은 어떻게 처리를 해야 하는지 조언좀 부탁드립니다.
libpq 에 내장하는 API는 C 본연에 가장 충실한 API 입니다.
가장 단순하게, 가장 본질적으로!
그래서, 실무에서 쓰기에는 많이 부족합니다.
실무에서는 DbGetInt32, DbGetInt64, DbGetFloat ... 등등 사용자 정의 함수들을 만들어서 사용합니다.
timestamp 일 경우는 C에서 어떻게 쓰느냐에 따라 달라지는데요,
단지 time_t 형으로 바꿀 거라면, 점(.) 이하 소수점을 버린 문자열을 가지고,
time_t로 만들어서 쓸 거구요.
그렇지 않다면, 점(.) 기준으로 왼쪽은 timespec.tv_sec, 오른쪽은 timespec.tv_usec 으로
저장해서 사용하는 것이 일반적입니다.
DbGetTime, DbGetTimespec 이런식이 되겠죠?
알아서 잘 만드셨다면, 다른 분들 쓰기 편하게 공개해 주셔도 좋고. :)