DB에 입력 할 때 콤마와 하이픈 제거가 정석인가요?

DB에 입력 할 때 콤마와 하이픈 제거가 정석인가요?

QA

DB에 입력 할 때 콤마와 하이픈 제거가 정석인가요?

본문

금액이나

전화번호등을 DB에 입력 할 때 

하이픈이나 콤마를 없앤 후에 입력 하시나요?

아니면 그대로 입력후 꺼내 쓰시나요?

 

전자의 경우는 넣을 때나 뺄때 가공해서 입력하고 보여줘야 해서 번거로울것 같긴 한데...

어떤방법이 괜찮을까요?

이 질문에 댓글 쓰기 :

답변 7

제거가 정석입니다.

 

금액의 경우 DB 에 ','를 넣게 되면,

금액 검색이 까다로워지고, (ex. 유저가 30000 으로 검색했을 시..)

문자열 타입이 되어 금액(숫자) 내림차순/오름차순 정렬에 문제가 있게 됩니다. 

('문자열 90은 문자열 100보다 큼, 숫자 90은 숫자 100보다 작음' => 숫자형 타입 DB 칼럼 권장)

 

그래서 영카트에서도 금액 저장시에는 컴마를 빼고 저장, 표기시에는 컴마를 붙여 노출하고 있습니다.

 

전화번호의 경우에는 금액만큼 엄격하지는 않습니다.

하이픈 포함 저장을 해서 크게 문제가 되지는 않습니다.

다만, 유저 입력값이 '-'을 넣는 경우, 넣지 않는 경우, 오타 등으로 인해 '-' 이 2개연달아 들어가는 경우 등이 검색이나 출력시 문제가 될 수 있습니다.

그래서 '-' 빼고 저장, 출력시 붙여서 표기하는 것이 좀 더 권장되는 정도입니다.

저는 넣는 편입니다.

 

일단 쓰는사람이나 보는사람이나 하이픈을 넣는게 구분하기도 좋고 보기에도 좋다고 생각 합니다.

 

하이픈을 빼서 사용을 해야할 경우에만 빼서 사용하면 되지 않을까요~

넣어도 되고 않넣어도 됩니다.

다만 넣은것도 있고 않넣은 것도 있는 상태처럼

혼용한다면 비효율 적이겠죠..

 

그리고 검색시 컬럼속성을 number 로 하는게 속도면에서 약간 이득입니다.

특수기호는 어떤 상태에 따라 넣느에 따라 차이가 다소 있습니다.

다만 상위 하이픈{'] 같은경우 injection같은 db 공격이 있기 때문에 허용을 거부 하고 있습니다.

따라서 구지 넣은다면 가공을 해서 넣고 다시 select할때도 다르게 넣거나..기타 다른 수(?)단을 이용해서

노출하고 있습니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,633 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT