부분합 Rollup

DBTool/MSSQL 2012. 4. 18. 11:05

CREATE TABLE dbo.GroupingNULLS (
    Store nvarchar(19)
    ,SaleYear nvarchar(4)
    ,SaleMonth nvarchar (7)
    ,SalePrice int
    ,NonePrice int
)

INSERT INTO dbo.GroupingNULLS VALUES
(NULL,NULL,'January',0,0)
,(NULL,'2002',NULL,0,0)
,(NULL,NULL,NULL,0,0)
,('Active Cycling',NULL ,'January',0,0)
,('Active Cycling','2002',NULL,4,0)
,('Active Cycling',NULL ,NULL,0,2)
,('Active Cycling',NULL,'January',1,0)
,('Active Cycling','2003','Febuary',0,0)
,('Active Cycling','2003',NULL,0,4)
,('Mountain Bike Store','2002','January',0,0)
,('Mountain Bike Store','2002',NULL,4,0)
,('Mountain Bike Store',NULL,NULL,0,0)
,('Mountain Bike Store','2003','January',0,0)
,('Mountain Bike Store','2003','Febuary',0,3)
,('Mountain Bike Store','2003','March',10,0);

SELECT ISNULL(Store,
    CASE WHEN GROUPING(Store) = 0 THEN 'UNKNOWN' ELSE 'ALL' END)
    AS Store
    ,ISNULL(CAST(SaleYear AS nvarchar(7)),
    CASE WHEN GROUPING(SaleYear)= 0 THEN 'UNKNOWN' ELSE 'ALL' END)
    AS SalesYear
    ,ISNULL(SaleMonth,
    CASE WHEN GROUPING(SaleMonth) = 0 THEN 'UNKNOWN' ELSE 'ALL'END)
    AS SalesMonth
    ,sum(SalePrice) AS DcCount
    ,SUM(nonePrice) as Count
FROM dbo.GroupingNULLS
GROUP BY ROLLUP(Store, SaleYear, SaleMonth);

부분합 Rollup 예제 참조.

Posted by 말없제이
,

DIV 스크롤.

DevTool/HTML 2012. 4. 18. 11:05

<div style="width:740px; height:410px; overflow-y:scroll;" >
</div>

Posted by 말없제이
,

function isHangul(sVal)
{
  var sBit = '';

  for(i=0;i<sVal.length;i++)
  {
    sBit = sVal.charAt(i);
    if(escape( sBit ).length <= 4)
    {
   alert("한글만 입력하십시오.");
      return false;
    }
  }
  return true;
}

 

Posted by 말없제이
,

// 문자 Count
function cal_byte()
{
    var aquery = document.getElementById("<%=txtMessage.ClientID%>").value;
 var tmpStr;
 var temp=0;
 var onechar;
 var tcount;
 tcount = 0;

 tmpStr = new String(aquery);
 temp = tmpStr.length;

 for (k = 0; k < temp; k++)
 {
  onechar = tmpStr.charAt(k);
  
  if (escape(onechar) =='%0D')
  {
  }
  else if(escape(onechar).length > 4)
  {
      tcount += 2;
  }
  else
  {
      tcount++;
        }
 }
   
    document.getElementById("<%=txtByte.ClientID %>").innerHTML = tcount;
   
    if(tcount > 80)
    {
  reserve = tcount - 78;
  alert("문자는 80바이트를 넘을수 없습니다." );
  cutText(); 
 } 
}

// OverFlow 문자 자르기
function cutText()
{
 nets_check(document.getElementById("<%=txtMessage.ClientID%>").value);
}

// OverFlow 문자 자르기
function nets_check(aquery)
{
 var tmpStr;
 var temp=0;
 var onechar;
 var tcount;
 tcount = 0;

 tmpStr = new String(aquery);
 temp = tmpStr.length;

 for(k = 0; k < temp; k++)
 {
  onechar = tmpStr.charAt(k);

  if(escape(onechar).length > 4)
  {
   tcount += 2;
  }
  else
  {
   tcount++;
  }

  if(tcount > 80)
  {
   tmpStr = tmpStr.substring(0, k);
   break;
  }
 }
  
 document.getElementById("<%=txtMessage.ClientID%>").value = tmpStr;
 cal_byte();
}

Posted by 말없제이
,

//원하는 케릭터형 모드 Replace
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/gi, "");
}

String.prototype.replaceAll = function(str1, str2)
{
    var temp_str = "";
   
    if(this.trim() != "" && str1 != str2)
    {
        temp_str = this.trim();
       
        while(temp_str.indexOf(str1) > -1)
        {
            temp_str = temp_str.replace(str1, str2);
        }
    }
   
    return temp_str;
}

Posted by 말없제이
,

#region ===== 문자열을 Int형변환. =====

 /// <summary>
 /// 문자열을 Int형으로 변환(문자일경우 0으로 반환)
 /// </summary>
 /// <param name="s">문자열</param>
 /// <returns>숫자(문자일경우 0반환)</returns>
 public int StrToInt(string s)
 {
  bool CheckVal = false;

  for (int i = 0; i < s.Length; i++)
  {
   if (System.Char.IsNumber(s, i))
    CheckVal = true;
   else
   {
    if (s.Substring(i, 1) == ".")
     CheckVal = true;
    else
    {
     CheckVal = false;
     break;
    } //end of IF
   } //end of IF
  } //end of FOR

  // 숫자이면
  if (CheckVal)
  {
   return int.Parse(s);
  }
  else
  {
   return 0;
  }
 }

 #endregion

Posted by 말없제이
,


// object 형 string으로 변환
  private string ObjToString(object p)
  {
   string strRef = "";

   if (p == null)
   {
    strRef = "";
   }
   else
   {
    strRef = p.ToString();
   }

   return strRef;
  }

Posted by 말없제이
,

http://blog.naver.com/saojung50?Redirect=Log&logNo=120024579830
[출처] 오라클 함수 - 단일행 함수|작성자 행복한오뚜기

◆ 문자 관련 함수
 SELECT
       lower('LOVE')         /*소문자로 변환. 출력:love*/
     , upper('pink')         /*대문자로 변환. 출력:PINK*/
     , initcap('pinklady')   /*첫글자만 대문자로 변환. 출력:Pinklady*/
     , concat('Hello','Kitty')            /*두 문자열을 연결. 출력:HelloKitty*/
     , substr('pinklady',5,4)    /*대상 문자열을 지정 자리에서 시작하여 지정 갯수만큼 출력. 출력:lady*/
     , length('pinklady')    /*문자열의 길이를 구함. 출력:8*/
     , instr('pinklady@aaa.com','@')  /*명명된 문자의 위치를 구함. '@'문자를 찾아 인덱스 번호를 구함. 출력:9*/
     , instr('pinklady@aaa.com','a',1,2) /*대상 문자열 0번째부터 시작해서 'a'문자가 2번째 나오는 인덱스 번호를 구함. 출력:10*/
     /*, lpad('대상 문자열',출력될 문자열 길이,'채울 문자')*/
     , lpad('pinklady',10,'♡')      /*지정된 길이에서 남는 부분 왼쪽에 주어진 문자로 자리를 채움. 출력:♡pinklady*/
     , rpad('pinklady',10,'♡')      /*지정된 길이에서 남는 부분 오른쪽에 주어진 문자로 자리를 채움. 출력:pinklady♡*/
     , ltrim('  pinklady   ') /*왼쪽 공백을 지움. 출력:pinklady   */
     , ltrim('pinklady','p')  /*지정된 문자가 왼쪽에 있으면 지움. 출력:inklady*/
     , rtrim('  pinklady   ') /*오른쪽 공백을 지움. 출력:  pinklady*/
     , rtrim('pinklady','y')  /*지정된 문자가 오른쪽에 있으면 지움. 출력:pinklad*/
     , translate('pinklady','pink','purple')            /*특정 문자열을 주어진 문자열로 대체. 출력:purplady*/
     , REPLACE('pink$$lady','$','♡')               /*특정 문자열을 주어진 문자열로 대체. 출력:pink♡♡lady*/
     , decode('pinklady','pinklady','♡','☆')     /*특정 조건에 대한 연산을 포함한 조건적 조회를 가능하게 한다. 출력:♡*/    
  FROM dual
 
◆ 숫자 관련 함수
SELECT
       round(123.4567,2)  /*숫자를 지정한 자리에서 반올림. 출력:123.46*/
     , round(123.4557,2)  /*출력:123.46*/
     , round(123.4547,2)  /*출력:123.45*/
     , trunc(123.4567,2)  /*숫자를 지정한 자리에서 절삭. 출력:123.45*/
     , MOD(9,2)    /*나머지를 구함. 출력:1*/
     , power(2,3)  /*거듭제곱을 구함. 출력:8*/
     , sqrt(4)   /*제곱근을 구함. 출력:2*/
     , sign(234)   /*양수, 음수, 0인지 구분. 양수일 때는 1, 음수일 때는 -1을 반환. 출력:1*/
     , sign(-234)  /*출력:-1*/
     , chr(65)    /*ASCII값에 해당하는 문자를 구한다. 출력:A*/
  FROM dual

◆ 날짜 관련 함수
SELECT
  SYSDATE /*현재 날짜 구함. 출력:, to_char(SYSDATE, 'month dd, yyyy')*/
     , to_char(SYSDATE) /*출력:11/06/01*/
     , to_char(SYSDATE, 'fmDD Month YYY') /*출력:1 June 11*/
     , to_char(SYSDATE, 'YYYY"년" MM"월" DD"일"') /*출력:2011년 06월 01일*/
     , to_char(SYSDATE, 'month dd, yyyy') /*출력:june      01, 2011*/
     , to_char(SYSDATE, 'MONTH DD, YYYY') /*출력:JUNE      01, 2011*/
     , to_char(SYSDATE, 'MM') /*달 출력. 출력:06*/
     , to_char(SYSDATE, 'mm') /*달 출력. 출력:06*/
     , to_char(SYSDATE, 'MONTH')  /*달 이름 출력. 출력:JUNE     */
     , to_char(SYSDATE, 'W')  /*현재 월의 몇번째 주인지 반환. 출력:1*/
     , to_char(SYSDATE, 'WW') /*올해의 몇번째 주인지 반환. 출력:22*/
     , to_char(SYSDATE, 'D')  /*요일 반환. 출력:4*/
     , to_char(SYSDATE, 'DD') /*이번달의 날수 반환. 출력:01*/
     , to_char(SYSDATE, 'DDD') /*금년 날수 반환. 출력:152*/
     , to_char(to_date('20110615'),'D')  /*요일 설정.출력:4*/
     , last_day(SYSDATE)   /*그달의 마지막 날 반환. 출력:2011-06-30 오후 4:47:53*/    
  FROM dual
[출처] 오라클 함수 - 단일행 함수|작성자 행복한오뚜기

Posted by 말없제이
,

<script type="text/javascript">

    function ieExecWB(intOLEcmd, intOLEparam) {
        // 웹 브라우저 컨트롤 생성
        var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';

        // 웹 페이지에 객체 삽입
        document.body.insertAdjacentHTML('beforeEnd', WebBrowser);

        // if intOLEparam이 정의되어 있지 않으면 디폴트 값 설정
        if ((!intOLEparam) || (intOLEparam < -1) || (intOLEparam > 1))
            intOLEparam = 1;

        // ExexWB 메쏘드 실행
        WebBrowser1.ExecWB(intOLEcmd, intOLEparam);

        // 객체 해제
        WebBrowser1.outerHTML = "";
        window.close();
    }

    </script>
</head>
<body onload="window.print();">

Posted by 말없제이
,
UltraWebGrid 설명문서_NA2004_Vol2
Posted by 말없제이
,