안녕하십니까 ~ 아래와같이 날짜 ,전화번호 [체크제약조건]을 걸려고 합니다
중간에 - 넣을려고 하는데 3시간째 체크제약조건에 위배된다는 메시지가 계속 뜹니다. ㅠ
어떻게 넣어야될지요~ㅠ
질문) 사용자가 [날짜부분, 전화번호] 부분을 (예[ 01012341234 , 1231 ]이렇게 넣으면
자동으로 중간의 [ - ]하이픈이 들어가게 하는 [트리거]를 만들려고 합니다.
어떻게 작성해야 되는건지요 ㅠㅠ
NO | 날짜 | 전화번호 |
1 | 12-31 | 010-1234-1234 |
Comment 4
-
건우아빠
2018.12.10 13:43
-
배움자세
2018.12.11 10:52
날짜 컬럼에서 12-31 <= 앞자리 예를들어 1-3 일이면 01-03 으로 앞자리 자동으로 0을 붙힐수있는 방법은 없을까요 ㅠㅠ;;
-
건우아빠
2018.12.11 14:17
declare @day varchar(20) , @tel_len intset @day = '1-3'SELECT right( '0'+LEFT( @day, CHARINDEX('-', @day ) - 1),2) , right('0'+right( @day, LEN( @day) - CHARINDEX('-', @day ) ) ,2), right( '0'+LEFT( @day, CHARINDEX('-', @day ) - 1),2) +'-'+ right('0'+right( @day, LEN( @day) - CHARINDEX('-', @day ) ) ,2) -
배움자세
2018.12.19 21:02
감사합니댜 해결했습니다 ㅠ 실력이 부럽습니다
전화 번호가 7자리 인지 8자리 인지 체크가 필요.
declare @tel varchar(20) , @tel_len int
set @tel = '0622612456' -- '01012341234'
if left(@tel,2) = '02'
begin
set @tel_len = len(@tel) - 2
end
else
begin
set @tel_len = len(@tel) - 3
end
if @tel_len = 7
begin
select @tel , LEFT(@tel, LEN(@tel) -7) +'-'+ RIGHT( SUBSTRING( @tel ,1,LEN(@tel) -4),3) + '-'+ RIGHT(@tel,4)
end
else
begin
select @tel , LEFT(@tel, LEN(@tel) -8) +'-'+ RIGHT( SUBSTRING( @tel ,1,LEN(@tel) -4),4) + '-'+ RIGHT(@tel,4)
end