반응형

MSSQL 11

[MSSQL] 문자열 바꾸기 (치환) - REPLACE, STUFF, TRANSLATE (group by 에서 사용한 예제 포함)

MSSQL의 문자열 치환 함수는 REPLACE가 매우 유용합니다. 치환 속도와 결과가 괜찮습니다. 특히, 조건문이나 그룹 정렬 문에서 사용하면 참 유용하게 사용이 가능합니다. 아래의 "실전 예제 >>"에서 사용 예를 남겨봅니다. REPLACE 문자열 치환 - 특정 문자열 값을 바꿔주는 함수 (REPLACE, STUFF) --문법-- REPLACE('문자열','치환예정문자','치환할문자') --예시-- REPLACE('ABCDEFG','DEF','XXX') --MY_TABLE에서 이름(NM_KOR)을 '이'씨를 '김'씨로 바꿔서 출력-- SELECT REPLACE(NM_KOR,'이','김')AS 사원명 FROM MY_TABLE 실전 예제 >> "Event 10% OFF $1.49-$0.15"에서 "10% ..

DB관련/SQL Server 2020.02.28

(중요) MSSQL mdf log파일로 Detach->Atach 하기 (백업,복원)

Database를 사용하다 보면, Backup의 중요성을 너무 크게 느끼게 됩니다. MSSQL도 마찬가지이며, MSSQL의 Backup과 Restore 하는 방법이 여러 가지 있습니다만, 파일을 통한 방법을 남겨보도록 하겠습니다. MSSQL mdf log 파일로 복원하기 SQL Server에서 물리적인 DB파일인 *. mdf / *. log파일을 이용한 DB 이전 하기 (1) DB 선택 > 마우스 오른쪽 클릭 > Tasks > Detach... 처리 (2) mdf 파일과 log파일을 원하는 위치에 복사 (3) mdf 파일과 log파일의 Window 기본 User 권한에 모든 권한으로 변경 Attach이전에, user name에 MSSQL유저가 없습니다. Attach이후, user name이 MSSQLSE..

DB관련/SQL Server 2020.02.28

[MSSQL] SQL Server Management Studio 로 DB copy하기

MSSQL에 DB의 개발 작업을 하다보면, 같은 서버에 운영 DB과 똑같은 TEST DB과 필요한 경우가 있습니다. 이 경우 DB를 쉽게 복사하는 방법을 생각하다. 개인적으로 생각하기에 가장 쉬운 방법을 적어봅니다. DB 복사하기 (1) 신규 DB생성 (2) 오리지널 DB선택 (3) Tasks > Restore > Database..선택 (4) Restore에서 Source를 원본 DB선택 (5) Destination에 Target DB(신규 생성한 DB)를 선택 (6) Options에서 "Overwrite the existing database(WITH REPLACE)"를 선택하면 됩니다. 많은 분들이 DB복사를 하는 방법으로 보통 Backup를 해서 Restore를 하는 방법을 이용합니다. 그래도 파..

DB관련/SQL Server 2019.09.24

MS SQL retore 에러 - Specified cast is not valid. (SqlMangerUI)

Microsoft SQL Server Management Studio 2008 R2 (SSMS.exe)에서 복원을 하려고 할때, 다음과 같은 "Specified cast is not valid" 에러가 발생한다면, 해당 DB백업 파일(.bak)이 버전이 다를 경우가 큽니다. DB백업 파일의 버전을 확인하려면, 다음과 같은 명령을 입력해 보시면 DatabaseVesrion이라는 항목에서 버전을 확인 할 수 있습니다. (참고 SQL 2014의 SSMS에서 확인) restore headeronly from DISK='D:\TEMP\DB_20190510T0824.bak' Microsoft SQL Server Internal Database Versions and Compatibility Levels http:/..

DB관련/SQL Server 2019.05.18

SQL의 IFNULL()함수 MySQL의 COALESCE()함수로 사용

MS SQL에서 IFNULL(컬럼, 0) 컬럼값이 null이면, 0을 넣는 함수가 있습니다. MySQL에서는 COALESCE(컬럼, 0)을 이용해서 null이면, 0을 넣는 함수를 사용합니다. 출처: ISNULL(value, 0) in WHERE clause MYSQL I believe you are trying to use the IFNULL() function. IF you replaced with IFNULL that should fix your query. I suggest you go one step further and use COALESCE() instead of IFNULL(), since COALESCE() is part of the SQL standard (and IFNULL() is ..

DB관련/MySQL 2019.03.02

[MSSQL] 문자열 자르기 - 구분자로 자르기, 길이로 자르기

MSSQL 문자 자르기문자를 자르는 부분은 정말 많이 쓰이는 것 중에 하나인데, WHERE절에서 사용시 속도를 항상 염두해 가면서 사용해야 하는 것도 중요하죠. 구분자로 자르기문자열: 'ABC\DE\FGH' -- '\' 기준으로 앞에서 자르기SELECT LEFT('ABC\DE\FGH', CHARINDEX('\', 'ABC\DE\FGH')-1);결과: ABC -- '\' 기준으로 중간에서 자르기SELECT SUBSTRING('ABC\DE\FGH', CHARINDEX('\', 'ABC\DE\FGH')+1, LEN('ABC\DE\FGH')-CHARINDEX('\', 'ABC\DE\FGH')-CHARINDEX('\', REVERSE('ABC\DE\FGH')));결과: DE -- '\' 기준으로 뒤에서 자르기SE..

DB관련/SQL Server 2017.06.30

AWS 간략한 월별 계산기

Amazon Web Services (AWS) 월별 가격 계산기 입니다. http://calculator.s3.amazonaws.com/index.html?lng=ko_KR#/ [AWS 간단 월별 비용 계산기]RDS와 같이 항목들은 왼쪽 메뉴에 있습니다. [팁]미국 서부 지역 같은 경우 캘리포니아(us-wset-1)보다는 오레곤(us-wset-2)가 더 저렴합니다.미국 동부 지역 같은 경우 버지나아 북부(us-east-2)이 더 저렴합니다.개인적으로 오레곤(us-west-2)를 사용하는데, 크게 속도차이를 느끼지는 못하는 것 같습니다. (캘리포니아나, 오레곤이나 속도 차이가 크지 않습니다.)미국 서부지역 서비스라면, 오레곤(us-west-2)를 추천합니다. (참고)EC2의 프리터어 스토리지는 30GB이고..

Server관련/AWS 2017.02.14

MSSQL 특정 테이블 백업하기

출처: MSSQL 테이블 단위 백업 MSSQL에서 특정 Table 백업하기 SQL Server Management Studio 실행 > DB선택 > 테스크 > 스크립트 생성 개체 선택 > 특정 데이터 베이스 개체 선택 테이블 > {백업할 테이블 선택} 스크립트 저장 방식 선택 (파일, 클립보드, 새 쿼리 창) > [고급] 선택 스크립팅할 데이터 형식 > 스키마 및 데이터 선택 데이터 량이 적으면, 새쿼리 창에 저장(용량이 크면 파일로 저장해야 전체가 백업이 된다.)

DB관련/SQL Server 2017.01.26

MSSQL 소숫점 자리수 맞추기

[ 소수점 자리수 맞추기 ] 돈 계산과 같은 경우 소수점의 자리수를 맞춰주는 것이 중요합니다. C# 프로그램에서는 Math.Round(값, 소주점자리수) 형식을 하면 소주점자리수까지 자동 Round처리를 하게 됩니다. MSSQL은 CONVERT나, CAST을 이용하면 좋습니다. SELECT CONVERT(NUMERIC(12,3) , 0.56) ,CAST(0.56 AS NUMERIC(12,3)) 결과 0.5600.560 참고: http://www.sqler.com/656866 [ TEXT type filed 줄 바꿈 없애기 ] TEXT 타입의 필드값에는 문자역 합치기 "+"와 같은 처리가 안된다. 더불어 간단한 REPLACE도 안된다.select replace(replace(colname, char(9),..

DB관련/SQL Server 2016.02.20

[중요] Left join and Left outer join in SQL Server

항상 사용할 때마다 헷갈리게 하는 부분이 조인이다. 기본적으로 조인은 중복에 대한 내용을 사용할때, 많이 사용한다. 그러나, RIGHT JOIN 도 생각보다 많이 사용되는 패턴이다. 간단히 정리된 내용을 메모해 둔다. (default) 기본 JOIN의 은 INNER조인입니다. INNER조인 = 중복된 값만 나타내는 것을 의미합니다. LEFT 조인 = 왼쪽 테이블에 있는 항목에 맞춰서 값을 가져옴 ( from A left join B on A.a=B.a /* A테이블 기준으로 B테이블 값가져온다*/ ) As per the documentation: FROM (Transact-SQL): ::= [ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ ] ] JOIN T..

DB관련/SQL Server 2015.11.12
1
반응형