제목 | sysdate사용시 질문입니다. | ||
---|---|---|---|
글쓴이 | 수야디벨 | 작성시각 | 2013/03/04 11:51:40 |
|
|||
만약 DB에서 현재 시간을 가져오고 싶다면, $this->db->select('sysdate() as sysdate'); 이런식으로 sysdate를 셀렉트 하라. 라고 조언받은적이 있습니다. 그런데, DB에서 sysdate만 사용할게 아니잖아요? 만약에, 컬럼이 A / B / C 가 있다고 한다면, 위 처럼 $this->db->select('sysdate() as sysdate'); 를 사용한다면, 오로지 sysdate값만 선택되어, 다른 컬럼은 쓸 수가 없습니다. (당연한거지요 이건?^^;) 그래서, 아주아주 번거롭지만 여태까지 ... $this->db->select('A'); $this->db->select('B'); $this->db->select('C'); $this->db->select('sysdate() as sysdate'); 이렇게 모든 컬럼을 다 지정해줬거든요~ 위 식을 간소화할 수 있는 방법이 없을까요? |
|||
다음글 | 썸네일 이미지 만들경우. (2) | ||
이전글 | 파일업로드 오류 (2) | ||
kirrie
/
2013/03/04 15:33:21 /
추천
0
|
수야디벨
/
2013/03/04 16:46:49 /
추천
0
kirrie//
결국에는 일일이 컬럼을 셀렉트 해줘야 한다는 점에선 동일하네요. 그런데, false를 해주지 않아도 지금까지 문제가 없이 사용되었는데, 이는 어떻게 설명할 수가 있을까요? |
kirrie
/
2013/03/04 17:34:25 /
추천
0
sysdate()를 쓰는걸 보니 오라클을 사용하시는 것 같습니다. 제가 지금 오라클 환경이 아니라
확인해 볼 수 없는데 오라클은 escaping을 해도 함수를 그대로 함수로 인식한다거나 하는게 아닐까요? 만약 sysdate() as sysdate가 escaping해도 정상적으로 사용할 수 있다면 그냥 $this->db->select('sysdate() as sysdate, a, b, c, d, e'); 이렇게 사용하셔도 됩니다. |
수야디벨
/
2013/03/05 20:16:55 /
추천
0
kirrie//
감사합니다 :) |
$this->db->select('sysdate() as sysdate', false);
$this->db->select('a, b, c, d, e');
이렇게 두 번의 select 메소드를 사용해주세요.
( http://ellislab.com/codeigniter/user-guide/database/active_record.html#select
이 메뉴얼의 select() 부분을 참조. )