Q&A

  • MS-SQL varchar Type 가져오기..
MS-SQL의 테이블에 varchar Type 필드가 있습니다.

이 필드의 내용을 memo 필드로 가져오고 싶은데,

255자리에서 짤리네요.

Text필드로 변경하면 간단하긴 한데

사정상 DB의 타입은 변경이 불가능합니다.

쿼리시의 전체 내용을 가져와서 메모 필드에 뿌려주고 싶은데 어떻게 해야할지 모르겠습니다.

select시에 cast 연사자를 이용해서 As char(8000)이렇게 해도 짤리고...

FieldByName('xxxx').AsString

FieldByName('xxxx').AsWideString

FieldByName('xxxx').AsVariant 모두 안되네요...ㅠㅠ

어떻게 해야하나요?
  
2  COMMENTS
  • Profile
    소울해커 2008.03.20 00:40
    varchar 의 자릿수를 255로 잡아놓은듯 합니다.

    입력이 아예 255자까지만 들어가니 255자 이상은 다 짤릴 수 밖에 없죠.

    방법1: DB의 타입을 바꾼다.

    방법2: 꽁수...
    자릿수가 255자를 넘어가지만 510자를 넘지 않는다면...(딱 두배 차이...)
    한 데이터가 두 레코드를 차지하게 집어넣으시면 됩니다. ㅡ_ㅡ
    1~2번 레코드를 한 레코드로 보시고 varchar 필드 값을 읽어서 합치면 되긋죠.

    510자 넘어서 들어간다면 마찬가지 방법으로 3개의 레코드를 하나로 보게 한다던지...ㅡ_ㅡ

    단점은 레코드 건수가 엄청난 양으로 늘어나진다는거...



  • Profile
    황원진 2008.03.20 00:48
    답변 달아주셔서 감사합니다.
    varchar의 자릿수는 2000자로 잡혀 있었습니다.

    sql구문 자체에서

    cast(필드명 as text)로는 안되는데

    convert(text, 필드명) 하니깐 안 짤리고 다 읽어오네요..

    해놓고도 왜 차이가 나는건지 모르겠네요...