오늘은 MS-SQl을 쓰다가 필요한 쿼리를 찾던 중 TO_CHAR로 된 쿼리를 찾았는데 써보니 MS-SQL용 쿼리가 아니라 ORACLE용 쿼리여서 적용할 수 없었습니다. 그래서 찾던 중 ORACLE의 TO_CAHR 함수를 MS-SQL의 CONVERT 함수로 대체할 수 있다는 것을 찾아서 이렇게 정리해 봅니다. 혹시나 저처럼 필요하신 분은 아래를 참조하시면 되겠습니다!! 출처 : ORACLE의 TO_CHAR 함수를 MSSQL의 CONVERT 함수로 ※ ORACLE에서 날짜를 처리할때는 TO_CHAR(SYSDATE,'YYYY-MM-DD') -> 2003-01-23 TO_CHAR(SYSDATE,'YYYY/MM/DD') -> 2003/01/23 TO_CHAR(SYSDATE,'YYYYMMDD') -> 200301..
아직도 문제가 해결되지는 않았지만 몇일동안 SQL에서 발생되는 교착상태(일명 DeadLock) 때문에 고생하면서 검색했던 자료 중 괜찮은 자료가 있어서 기록해둘까 합니다. 출처 : mssql lock ** LOCK ** 트랜잭션은 LOCK 과 떨어져서 설명될 수 없는 관계이고, LOCK 도 트랜잭션 없이 설명될 수 없다. LOCK 즉 잠금의 문제는 동시성 문제이다. 어떤 자원을 누군가 사용하고 있다면 어떤 형태로든 잠금이 설정된다. 그리고 그 잠금의 종류에 따라서, 해당 자원은 다른 사람이 어느 한계까지만을 사용할 수도 있고 아예 엑세스 자체도 불가능할 수도 있다. 그래서 여러 사용자가 함께 사용하는 응용프로그램이거나 특히 웹사이트 같은 경우엔 트랜잭션 사용 시 잠금에 관한 설정을 꼭 고려해야 한다. 1..
오늘도 하나의 버그(bug)를 발견하면서 새로운 것도 하나 알게되어 글을 올립니다. "MS-SQL DB 쿼리에서 대소문자 구분~" 어떻게 할까요~? 첫번째는 테이블을 만들때 대소문자를 구분 할것인지 말것 인지를 정해주어 대소문자를 구분할 수 있게 해주는 방법이 있구요. 두번째는 임시로 쿼리를 사용할 때 대소문자 구분을 하게 할 수 있습니다. 그런데 보통 테이블을 생성하면 대소문자 구분을 안하게 하는걸로 생성되는 경우가 많기 때문에 두번째 방법을 쓰는것이 유용하겠네요~ 물론 항상 대소문자를 구분해줘야 하는 부분이라면 테이블 생성시 구분하게 설정해 주는게 좋은 방법이겠죠~!! 설명하자면, 보통 테이블 생성시 CREATE TABLE [dbo].[EXCEPTION]( ... [EXCEPTION] [varchar..
오늘 MS-SQL 2005 에서 데이터를 정렬해서 가져오는 부분에 관한 코딩을 하던 중 이상하게 계속 정렬이 제대로 되지 않아서 DB에서 관련 테이블의 열속성을 보니 헙! 숫자인줄 알았던 것이 문자로 되어 있더군요. ㅡㅡㅋ 헙. 문제 해결을 위해 여기 저기 방법을 찾던 중 TO_NUMBER()이란 함수를 찾았는데 이 함수는 MS-SQL용 함수가 아니더라구요. ㅡㅡ;;; 그래서 다시 찾은 함수가 CONVERT() 함수랍니다. 사용법은 http://technet.microsoft.com/ko-kr/library/ms187928.aspx 여기 가면 잘 설명되어 있답니다. 그중에서 제가 사용한 부분은 설명 아래에 있는 예 중에서 -- Use CONVERT. USE AdventureWorks; GO SELECT ..