반응형

전체 글 1480

C# - 메서드, 메소드 (Methods)

메서드(Methods) 메소드(Methods)는 함수(Functions)라고도 불린다. 같은 의미로 씀. 메소드는 정말 유용하게 쓰인다. 한번의 로직 정의로 많은 곳에서 쓸 수 있기 때문이다. 메소드는 우리의 어플리케이션을 좀 더 쉽게 유지보수할 수 있게 도와준다. MSDN의 설명 메서드는 일련의 문을 포함하는 코드 블록입니다. 프로그램을 통해 메서드를 호출하고 필요한 메서드 인수를 지정하여 문을 실행합니다. C#에서는 실행된 모든 명령이 메서드의 컨텍스트에서 수행됩니다. Main 메서드는 모든 C# 애플리케이션의 진입점이고 프로그램이 시작될 때 CLR(Common Language Runtime, 공용 언어 런타임)에서 호출됩니다.

Language/C# 2021.01.15

C# - 추상 클래스와 인터페이스 차이, 다중 상속

인터페이스는 퍼블릭(Public)이 기본 값이고 추상 클래스(Abstract class)는 프라이빗(Priviate)이 기본값이다. 인터페이스는 필드를 가질 수 없고 메소드를 정의할 수 없다. 인터페이스는 다른 인터페이스만 상속 받을 수 있고, 추상 클래스는 다른 추상 클래스나 다른 인터페이스 둘 다 상속 받을 수 있다. 다중 상속 문제(Problems of Multiple Class inheritance) 다이아몬드 문제라고도 한다. 모호함이 문제가 되는 것이다. 어떤 것이 선택되어질지 , 한 개의 부모 클래스를 두개의 자식 클래스가 상속 받는다. 그리고 그 두개의 자식 클래스를 한 개의 자식 클래스가 상속 받을 때 생긴다. 이러한 문제를 해결하기 위해 나온 것이 인터페이스(Interface)이다. 굳..

Language/C# 2021.01.15

SQL Server - 달력 만들기

202001 이렇게 6글자의 조건을 입력 받으면 그 달이 표시되는 쿼리문. CTE(Common Table Expression)로 우선 이런 결과가 나오게 한다음 CTE를 재가공하여 이러한 달력이 나오게 한다. DECLARE @INPUT_DATE VARCHAR(6) , @WK VARCHAR(2) SET @INPUT_DATE = '202101' DECLARE @FORMATED_INPUT_DATE VARCHAR(8) = @INPUT_DATE + '01'; WITH CTE_DATE AS ( SELECT DATEDIFF(WK, @FORMATED_INPUT_DATE, DATEADD(D, CP.NUM-1, @FORMATED_INPUT_DATE)) [WEEK], DATEPART(MM, @FORMATED_INPUT_DA..

Database/SQL Server 2021.01.08

C# - 데이터 변환(convert, parse,tryparse), 어레이(Array), 주석(Comments), 이프(If),논리 연산자(Logical Operator), Switch , While, Do while Loop statement

int32.parse(스트링인 숫자) : 변환된 것을 리턴함. int32로 변환이 됨. convert.toint32 : 기본 데이터 타입 -> 기본 데이터 타입. int.TryParse(스트링인 숫자 , out [저장될 변수]) - 넣은 문자열로 되어있는 숫자가 지정한 변수에 저장이 되고 이 함수 자체는 True or False를 리턴한다. 어레이 Array using System; class Program { static void main() { int[] Numbers = new int[3]; //int인 array를 Numbers란 변수에 만듬. 이 array는 3개의 값만 받음; Numbers[0] = 10; Numbers[1] = 11; Numbers[2] = 12; } } 지정한 갯수보다 더 ..

Language/C# 2021.01.05

C# - 내장 타입 Built-in types

Boolean type - 참 거짓만 가능 Only True and False Integral types Type Range Size .Net Type sbyte -128 to 127 부호 있는 8비트 정수 Signed 8-bit integer System.SByte byte 0 to 255 부호 없는 8비트 정수 Unsigned 8 - bit integer System.Byte char U+0000 to u+ffff 유니코드 16비트 문자 Unicode 16-bit character System.Char short -32,768 to 32,767 부호 있는 16비트 정수 Signed 16-bit integer System.Int16 ushort 0 to 65,535 부호 없는 16비트 정수 Unsign..

Language/C# 2021.01.05

SQL Server - 월별 max값 찾기, 월별 합계 및 총합계 뽑아내기

지난 번에는 1년간 판매 기록에서 월별 매출을 뽑을 때 데이터가 없는 월이라도 0으로 데이터가 표시 되게 하는 방법을 했다. 오늘은 1년간 판매 기록에서 월별 max값, 판매가 많이 된날을 월별로 정리하는 것( 테이블 액세스는 단 한번해야함) 그리고 월별 합계와 함께 내가 보고있는 결과화면의 기간의 총합을 뽑아내보겠다. 활용할 테이블 모습 select convert(varchar(6), sales_date, 112) as YYYYMM, substring( max( right('000000000' + convert(varchar, sales_count), 9) + convert(varchar, sales_date, 112)), 14, 18) '최고 판매된 날짜', max(sales_count) '월최고판매..

Database/SQL Server 2020.12.29

SQL Server - 자릿수 맞추기, 000 집어넣기

--1. 숫자를 문자열로 변환시켜 합친다음 인덱스로 잘라낸다. right('000000' + convert(varchar,121), 6) --결과 : 000121 --타입 : 문자열 --2. SQL server 12 에서 나온 format 함수를 쓴다. select format(121,'D6') --결과 : 00121 --타입 : 숫자 --3. Replicate 함수를 쓴다. select replicate('0',5-len('123')+'123' select replicate('0', 5-3) + '123' --결과 : 00123 --타입 : 문자열

Database/SQL Server 2020.12.29

SQL Server - 동적 SQL Dynamic SQL

동적 SQL이란 ? 정적인 것과 반대로 SQL 문이 완성되지 않은 것을 말한다. WHERE 절이나 UPDATE절 등의 조건이 프로그램이 실행 될 때 결정될 때 동적 SQL이 필요하다. 유연하게 SQL문이 완성하여 실행 될 수 있게 하는 인터페이스이다. 동적 SQL 특징 - 문자열 데이터이다. - 시작과 끝을 나타내는 부호가 없다. Example : Create Procedure spSearchEmployees @FirstName nvarchar(100), @LastName nvarchar(100), @Gender nvarchar(50), @Salary int As Begin Select * from Employees where (FirstName = @FirstName OR @FirstName IS NU..

Database/SQL Server 2020.12.23

SQL Server - 전역 고유 식별자 GUID Globally Unique Identifier

전역 고유 식별자(GUID, Globally Unique Identifier)는 무엇인가 ? GUID는 16바이트 2진수 데이터 타입으로 이루어진 전역에 고유한 값이다. GUID는 uniqueidentifier로도 쓰인다. 그리고 테이블, 데이터베이스, 서버 통틀어서 고유한 값이다. 데이터를 통합할 때(다른 서버간) 유용하다. Syntax: SELECT NEWID() NULL 값인 경우 DECLARE @MyGUID UniqueIdentifier IF(@MyGUID IS NULL) Begin Set @MyGUID = NEWID() END Select @MyGUID or Declare @MyGUID UniqueIdentifier Select ISNULL(@MyGUID, NewID()) Empty 인 경우 E..

Database/SQL Server 2020.12.23

SQL Server - 순서 만들기 시퀀스 Sequence object

SYNTAX : CREATE SEQUENCE [schema_name . ] sequence_name [ AS [ built_in_integer_type | user-defined_integer_type ] ] [ START WITH ] [ INCREMENT BY ] [ { MINVALUE [ ] } | { NO MINVALUE } ] [ { MAXVALUE [ ] } | { NO MAXVALUE } ] [ CYCLE | { NO CYCLE } ] [ { CACHE [ ] } | { NO CACHE } ] [ ; ] Property Description 데이터 타입 AS 뒤에 들어갈 데이터 타입 종류- 내장 정수 타입(tinyint, smallint, int, bigint, deciaml etc...) 또..

Database/SQL Server 2020.12.23

sql 연습

select a.카드번호 , a.거래금액 전일_거래금액 , b.거래금액 주간_거래금액 , c.거래금액 전월_거래금액 , d.거래금액 연중_거래금액 from ( -- 전일거래실적 select 카드번호, 거래금액 from 일별카드거래내역 where 거래일자 = to_char(sysdate-1,'yyyymmdd') ) a , ( -- 전주거래실적 select 카드번호, sum(거래금액) 거래금액 from 일별카드거래내역 where 거래일자 between to_char(sysdate-7,'yyyymmdd') and to_char(sysdate-1,'yyyymmdd') group by 카드번호 ) b , ( -- 전월거래실적 select 카드번호, sum(거래금액) 거래금액 from 일별카드거래내역 where 거..

Database/SQL Server 2020.12.22

SQL Server - sys.dm_sql 참조 엔티티 referencing entities

A테이블에 의존하는 모든 객체 가져오는 명령문 Returns all the objects that depend on ATable Select * from sys.dm_sql_referencing_entities('dbo.ATable','Object') sys.dm_sql_referencing_entities - 참조하는 엔티티 sys.dm_sql_referenced_entities - 참조되어지는 엔티티 example: Create view VwEmployees --> Referencing entity as Select * from Employees --> Referenced entity 스키마 바운드 종속성 vs Non 스키마 바운드 종속성 Schema-bound dependency VS Non-Sch..

Database/SQL Server 2020.12.22

SQL Server - 객체 종속성 식별 Identifying object dependencies

외래키로 참조되어있는 테이블은 삭제하고 싶어도 삭제가 되지 않는다. 하지만 프로시저에 참조되어진 테이블은 삭제가 가능하다. 그런 관계를 확인하고 싶을 때 1. 첫 번째 방법 Microsoft SQL Server Management Studio 경우 테이블에 오른쪽 마우스를 눌러 View Dependencies로 들어간다. 그렇게 하면 이 테이블에 속해져있는 것과 이 테이블이 속한 곳이 나온다. 이 테이블이 의존하는 객체 이 테이블에 의존하는 객체 2. 두 번째 방법 A테이블에 의존하는 모든 객체 가져오는 명령문Returns all the objects that depend on ATable Select * from sys.dm_sql_referencing_entities('dbo.ATable','Obje..

Database/SQL Server 2020.12.22

SQL Server - 오프셋, 페치 넥스트 Offset, Fetch Next, Pagination

OFFSET FETCH Clause - 2012년도에 소개 되었다. - 결과 화면에서 결과 페이지를 나눠 리턴한다. - 오더 바이(Order by)절이 필수로 들어가야 한다. Syntax : SELECT * FROM table_Name ORDER BY Column_List OFFSET Rows_To_Skip ROWS FETCH NEXT Rows_To_Fetch ROWS ONLY 페이지 나누는 프로시저 만들기 Pagination Create proc spGetROwsByPageNumberAndPageSize @PageNumber INT, @PageSize INT AS BEGIN SELECT * FROM tblSample ORDER BY Id OFFSET (@PageNumber - 1) * @PageSize..

Database/SQL Server 2020.12.22

SQL Server - DateTime vs DateTime2 차이, 비교

속성 DateTime DateTime2 날짜 범위 January 1, 1753, 부터 December 31, 9999 January 1, 0001, 부터 December 31, 9999 시간 범위 00:00:00 부터 23:59:59.997 00:00:00 부터 23:59:59.9999999 정확도 3.33 밀리초 100 나노초 ㄷㄷ 크기 8 바이트 6에서 8바이트 (Precision에 따라 다름) 기본 값 1900-01-01 00:00:00 1900-01-01 00:00:00 DateTime2가 DateTime보다 더 큰 날짜 범위를 가지고 있다. 그리고 더 정확하다. 그래서 DateTime2를 쓰는 것이 장려된다. DateTime이 쓰이는 오직 한가지의 이유는 이전 버전들과의 호환성 때문이다.

Database/SQL Server 2020.12.19

SQL Server - DateTime2FromParts 함수

DateTime2FromParts function - 2012년도에 소개 되었다. - DateTime2를 리턴한다. - 모든 매개변수의 데이터 타입은 정수이다. - 만약 유효하지 않은 인자를 지정하였을 때, 에러가 발생함 - 만약 필수 인자 자리에 NULL값이 들어갔다면 NULL이 리턴됨 - 만약 precision 인자에 NULL이 들어간다면 에러가 발생함 Syntax : DATETIME2FROMPARTS(year, month, day, hour, minute, seconds, fractions, precision) Example : SELECT DATETIME2FROMPARTS (2015, 11, 15, 20, 55, 55, 0, 0) AS [DATETIME2] --expected result : 20..

Database/SQL Server 2020.12.19

SQL Server - EOMONTH, DATEFROMPARTS 함수

EOMONTH function - 2012년에 소개 되었다. - 그 달의 마지막 날짜를 구해준다. Syntax : EOMONTH (start_date , [month_to_add]) Parameter Description Start_date The date for which to return the last day of the month month_to_add Optional. Number of months to add to the start_date. EOMONTH adds the specified number of months to start_date, and then returns the last day of the month for the resulting date. Example : Return..

Database/SQL Server 2020.12.19
반응형