now()+0 을 해서 구분기호없이 시간을 표시한 다음에 이를 varchar으로 저장하고 싶은데요. cast를 쓰면 char로 변환은 가능한데... varchar으로 저장할 수는 없는 건가요? 워낙 대중 없는 초보라 난감하네요. 좋은 방법있으면 좀 가르쳐주세요^^
말씀하신대로 varchar에 저장하면 됩니다.
cast에서 쓰는 char는 문자열로 변환한다는 의미에서의 char이고, 컬럼 타입에서 쓰는 char는 fixed length string, varchar는 variable length string입니다.
그러니까, cast를 통해 문자열로 바꾼 값을 char, varchar 아무 쪽으로나 넣으셔도 됩니다.
앗 질문에서 빠뜨린 게 있네요.. 테이블을 만들 때 .........varchar(......) ........... cast (now+0) as char ............... 이런 식으로 작성하면 되나요? 잘 안되더라구요~ 지금 보니 26942번 글이랑 동일한 질문이네요.
아무래도 제가 질문을 잘못 이해하고 있는 듯 합니다만,
어쨌든 저는 아래와 같이 테스트 하였습니다.
create table test ( t varchar(40) );
insert into test ( t ) values ( cast( now()+0 as char ) );
컬럼 t의 default value로 해당 값을 줘보려 했지만 안되더군요.
감사합니다.
저도 결국엔 insert구문을 바꿔서 해결했습니다.
원래는 defalut value가 목적이었는데 용을 써봐도 안되더라구요,