insert문 질문하나 드리겠습니다. 0 2 2,720

by 준일정 mssql sql oracle mysql [2020.10.23 15:46:02]


컬럼타입은 varchar구요 

예를들어 

1001

1002

1003 

이렇게 데이터를 집어 넣을 떄 

isnull(max(컬럼),1000) +1 이런식으로 넣고 있는데요 

컬럼의 데이터가 

C1001

C1002

C1003 일 경우에는 어떻게 INSERT 를 해야 할까요 

동일한 방법으로 하니 C라는 문자열 때문에 안되더라고요.. 방법이 있을까요?

 

by 준일정 [2020.10.23 16:24:05]

제 자신이 찾았습니다. 

 

CONCAT('C',CONCAT(IFNULL(MAX(SUBSTRING(commentId,2,7)),1000001)+1 ))


by 마농 [2020.10.27 10:00:41]

MAX(SUBSTRING()) 보다는 SUBSTRING(MAX()) 가 성능상 더 좋습니다.
널인 경우 1부터 시작하려면 1000001 이 아닌 1000000 로 해야 하구요
CONCAT 구문이 아무 이유 없이 한번 더 사용되었네요.
CONCAT('C', IFNULL(SUBSTRING(MAX(commentId), 2, 7), 1000000) + 1)

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입