본문 바로가기

데이터베이스/MS-SQL28

ms sql 포맷 - 콤마 찍기 ms sql 포맷 - 콤마 찍기 숫자만 있는 경우 replace(convert(varchar, cast(숫자필드 AS MONEY),1), '.00','') 위의 경우는 일단 숫자 필드를 MONEY 타입으로 캐스팅 한다 그러면 기본 숫자에 콤마가 찍히게 되고 달러기준 MONEY 표시 이기 때문에 센트 표현을 위해서 #,###.## 의 형태로 나오게 된다. 당연히 소숫점은 없는거라 생각하고 varchar 형태로 바꾼 다음 센트 표시를 하는 소숫점 부분을 replace로 없애버린다고 생각하면된다. ㅇㅋ? CASE WHEN ISNUMERIC(숫자필드) = 0 THEN 숫자필드 ELSE REPLACE(CONVERT(VARCHAR, CAST(숫자필드 AS MONEY),1),'.00','') END 그리고 위의 경우.. 2023. 1. 31.
날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제 날짜함수(GETDATE,DATEADD,DATEPART,DATEDIFF) 사용법 & 예제 GETDATE GETDATE함수는 현재 컴퓨터에 설정되어있는 시스템 시간을 불러와주는 함수입니다. 2018-03-31 오전 01:40:30 위와같이 GETDATE()함수는 년월일은 물론이거니와 분,초 까지도 구해줍니다. 하지만 모든 사용자들이 위와같은 형식으로 사용하지는 않겠죠. 여기서 우리는 우리가 표시할 시간이나 날짜만 적절히 뽑아 올 수도 있고 날짜 형태를 바꿔서 출력할수도 있습니다. 사용법 --현재 날짜 출력 -- SELECT GETDATE() AS 시스템일자 --현재 날짜의 연,월,일 출력 -- SELECT YEAR(GETDATE()) AS 년, MONTH(GETDATE()) AS 월, DAY(GETDATE(.. 2023. 1. 30.
second 데이터를"시분초"로 보여주기 second값을 "시분초"로 보여주기 --> 예제: select dbo.FN_CO_DatetimeToHHMISS(DATEDIFF(ss,접수일시,처리일시)) from VOC --> 결과: 39시간 12분 59초 alter FUNCTION [dbo].[FN_CO_DatetimeToHHMISS] ( @ss int ) RETURNS varchar(50) /**************************************************************** 프로그램유형: Function 프로그램ID : 프로그램명: FN_CO_DatetimeToHHMISS 내 용: second값을 "시분초"로 보여주기 작 성 자: 최보현 작 성 일: 2012/01/30 수정 내용: -------------------.. 2023. 1. 28.
DATEDIFF 함수, 날짜계산, DATETIME 계산 DATEDIFF 함수, 날짜계산, DATETIME 계산 DATEDIFF 함수는 DATETIME 형식의 MSSQL 내장함수이다. getdate() : 현재시간 getdate()+1 : 현재시간+1일 예를들어 현재시간(getdate())이 2016년 12월 01일 13:00:00 이면, 현재시간+1(getdate()+1)은 2016년 12월 02일 13:00:00 이다. ​ # 분단위 select DATEDIFF ( mi , getdate() , getdate()+1 ) --==> 1440 분 (1일) # 초단위 select DATEDIFF ( s , getdate() , getdate()+1 ) --==> 86400 초 (1일) # 시간단위 select DATEDIFF ( hour , getdate() ,.. 2023. 1. 27.
MSSQL BETWEEN 사용하기 MSSQL BETWEEN 사용 BETWEEN 문이란? BETWEEN 문은 조건절에 사용되는데 범위를 나타내는데 주로 쓰입니다. MSSQL BETWEEN 사용방법 WHERE [컬럼명] BETWEEN [조건절] AND [조건절] 성적 테이블 생성 CREATE TABLE dbo.성적 ( 일련번호 int NOT NULL, 이름 varchar(6) NOT NULL, 점수 int NULL ) 데이터 입력 INSERT INTO dbo.성적 (일련번호, 이름, 점수) VALUES (1, '홍길동', 90) INSERT INTO dbo.성적 (일련번호, 이름, 점수) VALUES (2, '일지매', 95) INSERT INTO dbo.성적 (일련번호, 이름) VALUES (3, '임꺽정') 테이블 입력 결과 확인​ SE.. 2023. 1. 26.
MSSQL에서 특정 문자의 갯수 알기 MSSQL에서 특정 문자의 갯수 알기 MSSQL에서 특정 문자의 갯수를 알 수 있는 쿼리입니다. 아래의 쿼리는 C:\WINDOWS\System32 문자 중 '\'의 갯수 찾는 쿼리입니다. SELECT LEN('C:\WINDOWS\System32') - LEN(REPLACE('C:\WINDOWS\System32', '\', '') 2023. 1. 25.
MSSQL 날짜 형식 MSSQL 날짜형식 MSSQL 날짜 변환표 (기준날짜를 대상으로 CONVERT 실행하여 날짜 형변환) 쿼리 결과 코드 CONVERT(CHAR(19), DATETIME, 0) 01 02 2000 1:14PM MM DD YYYY H:MM CONVERT(CHAR(10), DATETIME, 1) 01/02/2000 MM/DD/YYYY CONVERT(CHAR(8), DATETIME, 2) 00.01.02 YY.MM.DD CONVERT(CHAR(8), DATETIME, 3) 02/01/00 DD/MM/YY CONVERT(CHAR(8), DATETIME, 4) 02.01.00 DD.MM.YY CONVERT(CHAR(8), DATETIME, 5) 02-01-00 DD-MM-YY CONVERT(CHAR(8), DATET.. 2023. 1. 19.
형변환 마스킹 형변환 마스킹 SELECT REPLACE(CONVERT(VARCHAR(100), CONVERT(MONEY, 950000), 1),'.00','') 그외 MSSQL의 형변환 방법입니다. 문자를 숫자로 바꾸는 경우 CAST('20' AS INT) 숫자를 문자로 바꾸는 경우 CAST(1234 AS CHAR(10)) 2023. 1. 18.
임시테이블 활용/Auto Commit/날짜 변환 임시테이블 활용/Auto Commit/날짜 변환 임시테이블 활용 declare @Str varchar(8000) declare @cnt int --임시테이블 검색 select @cnt = count(*) from tempdb.INFORMATION_SCHEMA.TABLES where table_name like '#aaa%' if @cnt >= 1 drop table #aaa Create Table #aaa ( nIndex int , sName varchar(16) , sID varchar(16)) --Insert [임시테이블] Exec [sql문] Insert into #aaa (nIndex,sName,sID) values (1, '123', '111') set @Str = 'select * from #.. 2023. 1. 12.
갯수 지정해서 값 가져오기 갯수 지정해서 값 가져오기 MsSql 같은 경우는 이런 기능이 없어 테이블을 설정할때 순번을 정해 주어야 합니다. 그 순번을 가지고 데이타를 검색하는것이구요 seq -> 순번 필드 SQL>SELECT name FROM storm_board WHERE seq 이렇게 하면 순번이 1~10까지 보여줍니다. SQL>SELECT Top 10 name FROM storm_board ---> 이렇게 하면 데이터가 1000건이 있더라도, 10건만 보여주게 된다 2023. 1. 9.
Microsoft SQL Server, 오류: 2 (로컬에 접속 안될때) Microsoft SQL Server, 오류: 2 (로컬에 접속 안될때) SQL Server에 연결을 설정하는 중에 네트워크 관련 또는 인스턴스 관련 오류가 발생했습니다. 서버를 찾을 수 없거나 액세스할 수 없습니다. 인스턴스 이름이 올바르고 SQL Server가 원격 연결을 허용하도록 구성되어 있는지 확인하십시오. (provider: 명명된 파이프 공급자, error: 40 - SQL Server에 대한 연결을 열 수 없습니다.) (Microsoft SQL Server, 오류: 2) 도움말을 보려면 다음을 클릭하십시오: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=2&LinkId=20476 이런.. 2023. 1. 6.
MS-SQL 추가/삭제/수정 MS-SQL 추가/삭제/수정 MS-SQL DB //추가 ALTER TABLE TableName ADD Fieldname VARCHAR(20) //삭제 ALTER TABLE TableName DROP Fieldname //수정 ALTER TABLE TableName ALTER COLUMN Fieldname VARCHAR(10) 2023. 1. 5.
여러 키 설정 여러 키 설정 create table AA( ABC int, DDD int, constraint pkAA primary key (ABC,DDD)) 2023. 1. 4.
날짜구하기(EX:20100101) 날짜구하기 SELECT SUBSTRING(REPLACE(CONVERT(char,GETDATE(),120),'-',''),1,8) as YYYYMMDD select convert(varchar,getDate(),112) 2023. 1. 3.
반올림,올림,절사,내림 반올림,올림,절사,내림 -반올림 Select ROUND(12.45,0,0) -올림 Select CEILING(12.45) -내림 Select FLOOR(12.45) -절사 :내림을 써도 되고, Round(12.45,0,1) 으로 사용해도 됨. 2023. 1. 2.
DB 이전 DB 이전 1.백업파일을 원하는 위치에 옮긴다. 2.퀴리창에서 Master로 로그인 3.restore database 데이타베이스명 from disk='백업파일위치(확장자까지 포함)' with replace 2022. 12. 30.
[공통]원격AS하면서 발생되는 [MS-SQL관련팁] [공통]원격AS하면서 발생되는 [MS-SQL관련팁] [1.암호변경 문법] C:\>OSQL -E 1>sp_password @old = null, @new = '변경암호', @loginame = 'sa' 2>go [2.백업복구방법] C:\>OSQL -E 1>restore database DB명 from disk='백업파일경로 및 파일명(확장자포함)' with replace 2022. 12. 29.
[공통] 테이블데이타 오류시 복구 테이블데이타 오류시 복구 USE Master ALTER DATABASE DB명 SET SINGLE_USER GO USE DB명 DBCC CHECKTABLE(테이블명, REPAIR_ALLOW_DATA_LOSS) GO USE Master ALTER DATABASE DB명 SET MULTI_USER GO 2022. 12. 28.
[SQL2005] 로그파일재생성 [SQL2005] 로그파일재생성 USE MASTER CREATE DATABASE DB명 ON (FILENAME='.mdf파일및경로') FOR ATTACH_FORCE_REBUILD_LOG 2022. 12. 27.
MSSQM 기본문법 MSSQM 기본문법 SQL문은 대소문자를 구분하지 않는다 단.데이타는 대문자와 소문자를 구분함 주석 처리는 /* .... */ 또는 한줄 -- 사용 SYSOBJECTS 테이블 => 데이타베이스의 모든 정보가 보관됨 SYSOBJECTS의 TYPE 칼럼으로 'U'=사용자 테이블 'P'=저장 프로시저 'K'=프라이머리 키 'F'=포린 키 'V'=뷰 'C'=체크 제약 등 오브젝트 이름과 정보를 알 수 있다 데이타 검색 /* USE 문을 사용한 데이타베이스 선택 */ USE 데이타베이스명 /* 모든 칼럼 불러오기 */ SELECT * FROM 데이블명 /* 상위 n개의 데이타만 가져오기 */ SELECT TOP n * FROM 테이블명 /* 특정 칼럼 가져오기 */ SELECT 칼럼1, 칼럼2, 칼럼3 FROM .. 2022. 12. 26.