본문 바로가기

[MSSQL] Split varchar to table 여러개의 데이터를 처리할 때 데이터 개수 만큼 파라메터를 설정하여 처리하면 되지만 데이터 수가 변경되는 경우에는 처리하기가 참 곤란합니다.그래서 스트링으로 붙여서 보내주고 구분자로 파싱하여 처리합니다. 아래는 스트링으로 붙여서 보낸 데이터를 파싱하여 TABLE 형태로 변환해주는 함수입니다. CREATE FUNCTION [dbo].[fn_SplitNumber](@String VARCHAR(8000))RETURNS @Array TABLE (DataSeqINT IDENTITY(1,1),DataFLOAT)ASBEGINDECLARE@ValueFLOAT,@TempVARCHAR(100),@LengthSMALLINT,@CurrentIndexSMALLINT,@NextIndexSMALLINTSET @Length = LEN.. 더보기
[드라이버] USB to Serial ( USB2.0 Ser! ) Win7 32bit 64bit Window 7 32/64 bit에서 잘 설치 됩니다. 더보기
[PostgreSql] for, foreach 문 사용하기 for, foreach 문 사용하기 for와 foreach를 사용하여 합계를 구하는 함수를 만들어 보았습니다. 생각대로 foreach 가 훨신 깔끔하게 느껴집니다. 아래 소스를 확인해 보시기 바랍니다. -- for를 사용하여 합계 구하기 CREATE OR REPLACE FUNCTION fn_sum(numeric[]) RETURNS numeric AS $$ DECLARE a_data ALIAS FOR $1; v_return numeric; v_i integer; v_len integer; BEGIN v_return := 0; v_len := array_length(a_data, 1); FOR v_i IN 1..v_len LOOP v_return := v_return + a_data[v_i]; END LOO.. 더보기
[PostgreSql] 계산함수를 이용하여 array 계산하기 [PostgreSql] 계산함수를 이용하여 array 계산하기 배열의 데이터를 계산하기 위해서 계산함수 sum, min, max, avg, stdev 등은 배열에서 사용할 수 가 없습니다. 그러나 배열을 테이블 형태로 변환해 주면 계산 함수의 사용이 가능합니다. 배열을 테이블 형태로 반환해주는 함수는 unnest 입니다. 사용방법은 select * from unnest(array[1.2, 1.1, 1.5, 1.9, 1.3]); 입니다. 아래처럼 조회가 됩니다. 그런데 컬럼명이 unnest 라는 것을 꼭 기억하기 바랍니다. 나중에 멋지게 사용됩니다. 이제 계산 함수를 사용하여 봅시다. 위의 조회에서 나오 컬럼명 unnest로 계산함수를 사용하면 아주 쉽계 계산값을 구할 수가 있답니다. select max(.. 더보기
[PostgreSql] 테이블의 컬럼 정보 조회하기 --. information_schema.columns 테이블을 조회하면 컬럼 정보가 조회 됩니다.--. PostgreSql 자체가 소문자로 저장되기 때문에 조건절의 테이블명은 반드시 소문자로 해야합니다. select table_name, column_name, data_type, character_maximum_length,is_nullablefrom information_schema.columns where table_name = '테이블명'order by ordinal_position 더보기
[PostgreSql] WITH 구분 사용 및 산술 Operator --. WITH 구문을 사용하여 산술 오퍼레이터의 사용법을 알아보자 WITH tempTable AS ( -- SELECT절에 사용할 테이블을 정의 SELECT 3 AS v1 , 2 AS v2 , 9 AS v3 , 27 AS v4 )-- SELECT SELECT A.v1 + A.v2 AS "더하기" , A.v1 - A.v2 AS "빼기" , A.v1 * A.v2 AS "곱하기" , A.v1 / A.v2 AS "나누기" , A.v1 % A.v2 AS "몫" , A.v1 ^ A.v2 AS "거듭제곱" , |/ v3 AS "제곱근" , ||/ v4 AS "세제곱근" , v1 ! AS "팩토리" , !! v1 AS "팩토리2" FROM tempTable AS A --. 결과 ※ 산술 Operator + - * /.. 더보기
[PostgreSql] md5 로 저장하기 PostgreSql 에 제공 되어지는 md5 함수를 사용하여 해당 컬럼에 데이터를 입력하면 됩니다. 아래 쿼리문 처럼 사용하면 됩니다. select md5('1'); 결과는 아래와 같습니다. **. 컬럼으로 저장시켜 보겠습니다. -- 테이블 생성 -- 여기서 Password는 text나 varchar 형식으로 잡아줘야 합니다.create table t_UserInfo (UserId text,UserPass text); -- 삽입insert into t_UserInfo(UserId, UserPass) values ('홍길동', md5('1')); -- 조회select * from t_UserInfo; -- 비교할때는 아래와같이 처리합니다.select * from t_UserInfo where UserPas.. 더보기
[Lambda] FindAll /*조건에 해당되는 값을 모두 찾아서 List로 리턴해 줍니다.*/ using System; using System.Collections.Generic; class Test_Lambda { static void Main() { List list = new List () { 50, 10, 12, 25, 18, 5 ,30, 32, 35, 40 }; Console.WriteLine("짝수이고 30이하인 값 찾기"); List findList = list.FindAll(x => x % 2 == 0 && x < 30); foreach(int i in findList) { Console.WriteLine(i); } } } 더보기
[Linq] DataTable에서 Linq 사용하기 Group By using System; using System.Linq; using System.Data; class Test_Linq { static void Main() { DataTable table = new DataTable(); table.Columns.Add("lot"); table.Columns.Add("data",typeof(double)); table.Rows.Add("A", 45.2); table.Rows.Add("A", 45.8); table.Rows.Add("A", 45.9); table.Rows.Add("B", 45.1); table.Rows.Add("B", 45.5); table.AcceptChanges(); // Group By var query = from dr in table.AsEnu.. 더보기
[Linq] DataTable에서 Linq 사용하기 Select using System; using System.Linq; using System.Data; class Test_Linq { static void Main() { DataTable table = new DataTable(); table.Columns.Add("lot"); table.Columns.Add("data",typeof(double)); table.Rows.Add("A", 45.2); table.Rows.Add("A", 45.8); table.Rows.Add("A", 45.9); table.Rows.Add("B", 45.1); table.Rows.Add("B", 45.5); table.AcceptChanges(); // SELECT var query = from dr in table.AsEnume.. 더보기