분류 전체보기 51

[MSSQL] SP 문자열이나 이진데이터가 잘립니다.

간혹 INSERT SP 실행시 '문자열이나 이진 데이터는 잘립니다.' 와같이 컬럼의 길이가 맞지 않아 오류가 발생할 때가 있다. 간혹 컬림이 많은 테이블이라면 어떤 컬럼에서 문자열이 짤리는지 찾기 번거로울때가 있는데 그때는 SP 에 'SET ANSI_WARNINGS OFF' 설정을 주어 INSERT 시킨후 짤린 데이터가 있는지 찾아보는게 편하다.

DataBase/MSSQL 2021.11.25

[MSSQL] ROW 를 컬럼으로 바꾸는 방식 (PIVOT 과 CASE문)

아래와 같은 테이블을 사용자별 SNS 현황을 변환해서 하나의 ROW로 출력해야하는 경우에 사용한다. Sql Server PIVOT 함수를 사용하거나 CASE 문을 활용해서 사용이 가능하다. 두방식 모두 동일한 결과를 출력한다. PIVOT 활용 SELECT name, K AS Kakao , N AS Naver , F AS FaceBook FROM ( SELECTM.name, M.snsType FROM memberSns AS M ) AS MemberInfo PIVOT ( COUNT(snsType) FOR snsType IN ([K],[N],[F]) ) AS pivot_result 출력결과: CASE 문 활용 SELECTname, MAX(Kakao) as Kakao, MAX(Naver) as Naver, MA..

DataBase/MSSQL 2021.11.24

[MSSQL] 두테이블간 교집합(INTERSECT) 차집합(EXCEPT) 찾기

1. INTERSECT - SELECT * FROM TableA INTERSET SELECT * FROM TableB ( TableA 와 TableB 가 일치하는 결과를 리턴 ) - 교집합 개념 2. EXCEPT - SELECT * FROM TableA EXCEPT SELECT * FROM TableB ( TableA Row 내용 중 TableB와 Row 내용이 같지 않거나 TableA 에는 있는데 TableB에는 없는 데이터를 리턴 ) - 차집합 개념 3. 주의 사항 - TableA 와 TableB 의 컬럼의 갯수와 순서가 동일해야 함 - 각 상호 비교되는 컬럼들의 데이터 형식이 호환되어야 함 예제: //테이블간 컬럼이 모두 동일하지 않은경우 SubQuery 사용하여 조회가능 //차집합 SELECT *..

DataBase/MSSQL 2021.11.22

[Vue] async/await 사용시 regeneratorRuntime is not defined 에러

Vue.js 에서 async 와 await 사용도중 아래와 같은 regeneratorRuntime is not defined 에러가 발생했는데 해결방법은 아래와 같다. 해결방법 : babel-polyfill 관련 모듈을 설치해준다음 import를 해주면 해결된다! npm install --save-dev babel-polyfill npm install --save-dev babel-plugin-transform-regenerator npm i babel-plugin-transform-runtime import 'regenerator-runtime/runtime' 참조: [vuejs]regeneratorruntime is not defined vue async 에러 해결 vuejs 에서 store 관련 a..

Web/Vue 2021.11.19

[JavaScript] Event KeyCode 목록 및 코드예제

Javascript 코드 예제 //방법1 /*HTML input text*/ $("#test").keyup(function(event){ if(event.keyCode == 13){ alert('엔터키 입력!'); } }); //방법2 /*HTML input text*/ /*script function*/ function keycheck(event){ if(event.keyCode == 13){ alert('엔터키 입력!'); } } KeyCode ASCII 코드표 A~Z / a~z / 0~9 Numeric Keypad 기타키 Key Code Key Code Key Code A 65 Numpad 0 48 Backspace 8 B 66 Numpad 1 49 Tab 9 C 67 Numpad 2 50 Ente..

Web/JavaScript 2021.11.19

[Vue] Watch 와 Computed 속성

Computed 속성 computed 속성은 템플릿의 데이터 표현을 더 직관적이고 간결하게 도와주는 속성이다 {{ message.split('').reverse().join('') }} 위 코드는 message라는 데이터 속성의 문자열 순서를 역으로 변환해주는 코드이다. 이와 같은 계산식이 템플릿에 많아지면 템플릿의 가독성이 현저히 떨어진다. 따라서 아래와 같이 computed 속성을 활용한다. {{ reversedMessage }} 해당 기능을 Methods 속성을 사용 할 수도 있지만 computed는 data 속성에 변화가 있을때 자동으로 다시 연산을 한다. computed에서 사용하고 있는 data속성인 message라는 프로퍼티가 변화가 있을때만 다시 연산을하고 한번 연산한 값을 캐싱 해놓았다가..

Web/Vue 2021.11.18

[Vue] Checkbox 체크 유무를 특정 값으로 바인딩

Vue.js에서 체크박스에 바인딩 된 모델의 값은 기본적으로 true / false 이지만 특정 상황에선 다른 문자로 치환이 필요한경우가있다 이럴때 체크 유무를 따져서 값을 변경해주는 방법 이외에 input의 true-value와 false-value props를 사용한다. 이때 주의할점은 form submit시 체크 되지않은 값은 전송되지 않는다. 참고 https://kr.vuejs.org/v2/guide/forms.html#%EC%B2%B4%ED%81%AC%EB%B0%95%EC%8A%A4-1 폼 입력 바인딩 — Vue.js Vue.js - 프로그레시브 자바스크립트 프레임워크 kr.vuejs.org

Web/Vue 2021.11.18

[JavaScript] for each문에서 return false 처리

for each 문에서 결과값을 리턴 받을 때 아래와 같은 코드로 실행하게되면 원하는 값을 얻지 못합니다. Check: function() { $("input[name='chkgroup']:checked").each(function() { if (!$(this).is(":checked")) { alert("잘못 체크하셨습니다."); return false; } }); return true; } ... const result = check(); //항상 retun true 반환 정상적인 값을 반환 받을 수 없는 이유는 function 내에 들어있는 each 문은 또다른 function 이기때문에 each 문에서 return false 는 break 과 같은 역할을 하여 each 함수를 빠져나갈 뿐이기 때문..

Web/JavaScript 2021.11.17