본문 바로가기

[C#] Join Multi DataTable TO One DataTable [C#] Join Multi DataTable TO One DataTable 1. 두 개의 DataTable을 Join 해 옆으로 나열한 하나의 DataTable 반환 public static DataTable JoinTwoTables(DataTable dt1, DataTable dt2) { DataTable dtResult = new DataTable(); var dt1Columns = new List(); foreach (DataColumn column in dt1.Columns) { dt1Columns.Add(column.ColumnName); dtResult.Columns.Add(column.ColumnName); } var dt2Columns = new List(); foreach (DataCo.. 더보기
[MSSQL] 두 수 사이의 숫자 Row로 구하기 [MSSQL] 두 수 사이의 숫자 Row로 구하기 - Query DECLARE@i_STARTNUMINT=1 DECLARE@i_ENDNUMINT=10 ; WITH GEN AS ( SELECT @i_STARTNUM AS NUM UNION ALL SELECT NUM+1 FROM GEN WHERE NUM+1 더보기
[MSSQL] 특정 기간 사이의 일자 리스트 [MSSQL] 특정 기간 사이의 일자 리스트 SELECTTOP (DATEDIFF(DAY, '20190101', '20190115') + 1) DT = CONVERT(VARCHAR(8),DATEADD(DAY, ROW_NUMBER() OVER(ORDER BY A.OBJECT_ID) - 1, '20190101'),112) FROMSYS.ALL_OBJECTS A CROSS JOINSYS.ALL_OBJECTS B; - Result 20190101 20190102 20190103 20190104 20190105 20190106 20190107 20190108 20190109 20190110 20190111 20190112 20190113 20190114 20190115 더보기
[MSSQL] Row 데이터를 가로로 표현 [MSSQL] Row 데이터를 가로로 표현 - 컬럼이 유동적인 동적쿼리 생성시 사용. - 그룹이 같은 데이터 표시할 때 사용 CREATETABLE #TEMP1 ( SEQINTIDENTITY(1,1), DEPTNVARCHAR(10), NAMENVARCHAR(10) ) INSERT INTO #TEMP1 (DEPT, NAME) VALUES ('총무','홍길동') INSERT INTO #TEMP1 (DEPT, NAME) VALUES ('총무','김철수') INSERT INTO #TEMP1 (DEPT, NAME) VALUES ('전산','잡스') INSERT INTO #TEMP1 (DEPT, NAME) VALUES ('전산','빌게이츠') INSERT INTO #TEMP1 (DEPT, NAME) VALUES ('.. 더보기
[Oracle] 각 Row를 컬럼에 지정된 숫자만큼 복제하기 [Oracle] 각 Row를 컬럼에 지정된 숫자만큼 복제하기 WITH TEMP_DATA AS ( SELECT 'A' Col1, '20180910' Col2, 3 Col3 FROM DUAL UNION ALL SELECT 'B' Col1, '20180911' Col2, 2 Col3 FROM DUAL UNION ALL SELECT 'C' Col1, '20180913' Col2, 1 Col3 FROM DUAL UNION ALL SELECT 'D' Col1, '20180930' Col2, 5 Col3 FROM DUAL ) SELECT Col1, Col2, Col3, TO_CHAR(TO_DATE(A.Col2) + B.NUM,'YYYYMMDD') Col4 FROM TEMP_DATA A CROSS JOIN ( SELE.. 더보기
[Oracle] 특정 일자의 해당 월 모든 일자 가져오기 [Oracle] 특정 일자의 해당 월 모든 일자 가져오기 SELECT TO_CHAR(TRUNC(TO_DATE('20181203'), 'MONTH') + LEVEL-1,'YYYYMMDD') DAYS FROM DUAL CONNECT BY LEVEL 더보기
[Oracle] 두 일자 사이(기간) Month 가져오기 두 일자 사이(기간) Month 가져오기 WITH T AS ( SELECT '20181201' START_DATE,'2019-12-13' END_DATE FROM DUAL ) SELECT TO_CHAR(ADD_MONTHS(TRUNC(TO_DATE(START_DATE),'MM'),LEVEL - 1),'YYYYMM') MONTH FROM T CONNECT BY TRUNC(TO_DATE(END_DATE),'MM') >= ADD_MONTHS(TRUNC(TO_DATE(START_DATE),'MM'),LEVEL - 1); MONTH ------201812201901201902201903201904201905201906201907201908201909201910201911201912 더보기
[Oracle] 테스트 데이터 생성 쿼리 [Oracle] 테스트 데이터 생성 쿼리 SELECT LEVEL AS ID, TRUNC(DBMS_RANDOM.VALUE(1, 5))*10 DEPT, UPPER(TO_CHAR(TO_DATE(TRUNC(DBMS_RANDOM.VALUE(1, 6)),'J'), 'JSP')) AS REC_TYPE, ROUND(DBMS_RANDOM.VALUE(1,51),2) AS REC_VALUE FROM DUAL CONNECT BY LEVEL 더보기
[Oracle] 문장에서 한자씩 가져오기 [Oracle] 문장에서 한자씩 가져오기 SELECT SUBSTR('가나다라 마바사', LEVEL, 1 ) AS COL FROM DUAL CONNECT BY LEVEL 더보기
[Oracle] 두 일자 사이의 특정 요일 가져오기 [Oracle] 두 일자 사이의 특정 요일 가져오기 SELECT DATE_COL, TO_CHAR(DATE_COL,'DY') FROM ( SELECT TO_DATE('20181201','YYYYMMDD') + LEVEL - 1 DATE_COL FROM DUAL CONNECT BY LEVEL 더보기