반응형
반응형
개요 데이터베이스에서 날짜를 다룰 때 날짜별로 결과를 확인하거나 데이터를 처리해야되는 경우가 있다. 하지만 데이터베이스 혹은 프레임워크에 따라 서로 다른 날짜 표시 형식으로 출력될 수 있다. 이로 인해 매번 다르게 처리해야하는 곤란할 경우가 생길 수 있다. (시계열 데이터가 다르게 출력되는 이유는 데이터베이스의 버전, 데이터베이스 시스템에 설정된 언어, 데이터베이스 및 테이블에 정의된 인코딩 형식에 따라 다를 수 있다.) 예시 종류 내용 날짜 출력 형식 A데이터베이스 날짜 및 시간 데이터 형식의 데이터 출력 2024-01-24 12:00:00 B데이터베이스 날짜 및 시간 데이터 형식의 데이터 출력 2024-01-24 12:00:00.000 C데이터베이스 문자열 관련 함수(LEFT) 사용하여 출력 Jan ..
Error) 동적 쿼리를 실행하려는데 작성한 sql문을 실행하니 다음과 같은 에러가 출력되었다. 아래는 이해를 돕기 위해 쿼리문을 간소화 시켜 에러를 발생한 예시 구문이다. exec sp_executesql 'select 1' /* 에러 내용 Msg 214, Level 16, State 2, Procedure sp_executesql, Line 1 [Batch Start Line 182] 프로시저에 'ntext/nchar/nvarchar' 유형의 매개 변수 '@statement'이(가) 필요합니다. */ 원인 파악 이 에러가 왜 발생하는지를 알려면 우선 sp_executesql 프로시저에 대해 이해를 해야한다. sp_executesql 란? sp_executesql 는 MSSQL 에서 사용되는 저장 프로..
오류 화면 및 해결 방법 Msg 8116, Level 16, State 1, Line 6 len 함수의 인수 1에 대한 인수 데이터 형식 ntext이(가) 잘못되었습니다. 결론적으로 말하면, Len() 함수는 'ntext' 데이터 형식에 대해 사용할 수 없다. ntext 또는 text, image 데이터 형식의 길이를 확인하려면 DATALENGTH() 함수를 사용하여야 한다. ntext, text, image 데이터 타입이란 것은 뭘까? 테이블을 확인해 보니 데이터 타입이 ntext로 되어 있었다. ntext, text, image 데이터 타입은 대용량의 유니코드 및 비유니코드 문자와 이진 데이터를 저장하기 위한 고정 및 가변 길이 데이터 형식이다. 유니코드 데이터는 Unicode UCs-2(UTF-16..
연결된 서버(Linked Server) 관련 글 보기 [ 연결된 서버 사용 방법] MSSQL - 연결된 서버(Linked Server) 생성과 사용 방법 [ 연결된 서버에서 오픈 쿼리 사용 방법 ] MSSQL - Openquery 사용 방법 / 연결된 서버와 오픈쿼리 차이점 / Linked Server의 쿼리 실행 속도 상승 시키기 [ 다른 RDBMS를 연결된 서버로 연결하기 ] MySQL MSSQL - 연결된 서버로 MySQL 연결하기 (Linked Server, Openquery) Oracle MSSQL - 연결된 서버로 Oracle 연결하기 (Linked Server) MS-SQL - 오라클 ODAC를 이용해서 연결된 서버를 연결해보자 (Oracle Instant Client, Linked Serv..
Oracle 21c XE 삭제하기이 방법은 오라클에 포함되어 있는 자체 삭제 배치 파일 이용한다. 이 방식으로 삭제를 진행하면, 서비스나 레지스트리를 수동으로 지워주지 않아도 되며 무엇보다 간편하다.오라클이 설치되어 있는 폴더에 들어간다. 보통 경로를 따로 지정하지 않고 설치했다면 경로는 c:app\사용자명\product\21c\dbhomeXE 일 것이다. 오라클 설치 경로에서 deinstall 폴더로 들어가서 deinstall.bat 파일을 실행한다. 잠시 기다리라는 문구가 나오고... 이 Oracle 홈에 구성된 데이터베이스 이름 목록을 지정하십시오. 등 여러 개의 입력 과정이 생긴다. 모르겠으면 엔터를 누르면 자동으로 해제 된다. 마지막으로 삭제를 계속할 것인지 아닌지 물어본다. y를 입력해주자 오..
서론 MySQL에서 SELECT의 조회 결과가 1000개가 출력된다. 문제는 결과의 행이 1000개 일리 없는 데이터 결과 셋이 계속 1000개로 고정되어서 결과가 조회된다는 것이다. select count(*) from t1; 심지어 확인해보니 계속 LIMIT 키워드가 적용되어 있다. select * from t1; 나는 제한을 걸어준 적이 없는 LIMIT 1000으로 인해 결과 셋의 행이 천 개로 제한되는 것이다. 이 LIMIT를 없애려면 어떻게 해야할까? 방법1 : 직접 LIMIT 제한 범위를 걸어주기 직접적인 해결 방법은 아니지만, 쿼리 자체가 'LIMIT 1000'으로 고정되기 때문에 쿼리에 LIMIT를 넣어 직접적으로 리미트 제한을 늘려준다. 다만 이런 방식으로도 조회할 수 있다는 방법 중 하..