DataBase50 [MSSQL] TRANSLATE 함수 사용법 (여러개 치환, 다중 치환) SQL Server 2017 버전부터 TRANSLATE 함수를 사용할 수 있게 되었다. 오라클에서는 오래전 부터 사용이 가능했지만 MSSQL에서는 신규로 추가된 함수이다. REPLACE 함수를 사용하여 여러 개의 문자를 치환하기 위해서는 REPLACE 함수를 중첩해서 사용해야 하는데, 이런 경우 쿼리문이 복잡해진다. TRANSLATE 함수를 사용하여 여러 개의 문자를 치환하는 것은 간단하지만, 치환하지 않고 제거는 쉽지 않기 때문에 이런 경우는 REPLACE 함수를 사용하는 것이 효율적일 수 있다. TRANSLATE("문자열", "바꿀문자", "변환문자") 바꿀문자와 변환문자의 길이는 동일해야한다. 문자열에 바꿀문자가 있을 경우 바꿀문자의 자리수에 해당하는 변환문자로 치환된다. TRANSLATE 함수는 .. 2022. 4. 12. [MSSQL] EOMONTH 함수, 월의 마지막 날짜 구하기 SQL Server 2012 버전부터 월의 마지막 일자를 구할 수 있는 EOMONTH() 함수가 추가되었다. 오라클 SQL의 LAST_DAY와 동일한 기능을 수행하는 함수이다. | 월의 마지막 날짜 구하기 (SQL Server 2012 이상) SELECT EOMONTH('2020-09-09') AS result SQL Server 2012 버전부터 EOMONTH (End of Month) 함수를 사용하여 간편하게 해당 일자 기준으로 해당 월의 마지막 날짜를 구할 수 있다. | 월의 마지막 날짜 구하기 (SQL Server 모든 버전) SELECT DATEADD (DAY, -1, DATEADD (MONTH, DATEDIFF (MONTH, 0, '2020-09-09') + 1, 0)) AS result SE.. 2022. 4. 11. [MSSQL] CHARINDEX 함수, 특정 문자 찾기 SQL Server에서 CHARINDEX() 함수는 문자열에서 특정 문자를 찾고 위치를 반환한는 함수이다. 오라클 SQL의 INSTR 함수와는 다르게 뒤에서 부터 찾는 기능은 지원하지 않고, 문자열의 앞부터 또는 특정 위치부터 문자를 검색한다. CHARINDEX("찾을문자", "문자열", "시작위치") 찾을 문자가 존재하면 위치를 리턴하고, 존재하지 않으면 "0"을 리턴한다. | 기본 사용법 SELECT CHARINDEX('sql', 'Microsoft SQL Server') 대소문자 구분없이 'sql' 문자를 찾아서 위치를 리턴하다. 시작위치를 생략하면 첫번째 문자부터 찾는다.\ | 시작위치를 지정하여 찾기 SELECT CHARINDEX('sql', 'Microsoft SQL Server', 11) 문.. 2022. 4. 11. [MSSQL] STRING_ESCAPE 함수 사용법 SQL Server 2016 버전 부터 JSON 문자열의 특수문자를 Escape 처리를 할 수 있는 STRING_ESCAPE() 함수가 추가 되었다. 모든 문자열에 사용 가능하지만 현재는, json에서 사용하는 특수문자만 지원한다. STRING_ESCAPE("문자열", "유형") 현재 유형은 "json"만 지원함 json 문자열 자체를 Escape 처리하는 것이 아니라, json에 사용할 문자열 값을 Escape 처리하는 기능임 SELECT STRING_ESCAPE('"젠트"의 프로그래밍 세상','json') AS result SELECT STRING_ESCAPE('https://gent.tistory.com/','json') AS result DECLARE @site VARCHAR(100) = '"젠트.. 2022. 4. 11. 이전 1 ··· 7 8 9 10 11 12 13 다음