SQL Server 2012에는 TRY_CONVERT라는 변환 함수를 제공합니다.

이 TRY_CONVERT는 CONVERT와 비슷하지만,

CONVERT를 하지 못해도 오류를 내지 않고 NULL로 반환하는 특성을 가집니다.

 

실험 1.

 CONVERT 이용

DECLARE @INPUT1 VARCHAR(100)

DECLARE @INPUT2 VARCHAR(100)

 

SET @INPUT1 = '100,2';

SET @INPUT2 = '100.3';

 

SELECT

        CONVERT(FLOAT,@INPUT1) AS INPUT1,

        CONVERT(FLOAT,@INPUT2) AS INPUT2

 

 

 결과.

1.png 

 

실험 2. TRY_CONVERT 로 실행

DECLARE @INPUT1 VARCHAR(100)

DECLARE @INPUT2 VARCHAR(100)

 

SET @INPUT1 = '100,2';

SET @INPUT2 = '100.3';

 

SELECT

        TRY_CONVERT(FLOAT,@INPUT1) AS INPUT1,

        TRY_CONVERT(FLOAT,@INPUT2) AS INPUT2

 

 

 

 결과.

2.png

 

 

상세내역

http://msdn.microsoft.com/ko-kr/library/hh230993(v=sql.110).aspx

참고로 이것은 RC0 기준입니다.

 

물론 정확한 데이터 처리를 위해서는 검증이 필요하지만,

필요에 따라 사용 가능할 듯 합니다.

초간단!

 

SQL Server 2012에 SQL Server 2008 R2 SSMS 접속 시 보이지 않는 Object들이 어떤 것들인지 그림으로 표현해 봤습니다.

RC0 기준이며, Enterprise Edition입니다.

 

2012_SSMS.png

 

2008R2_SSMS.png


1. AlwaysOn High Availability

 : 2012부터 추가된 HA 구성으로 Failover Cluster의 확장판 격입니다.

  가장 큰 차이 중 하나는 이전과 달리 Database Level의 FailOver Cluster가 가능하다는?

 http://msdn.microsoft.com/en-us/sqlserver/gg490638

 

2. 확장이벤트

 : SQL Server의 성능 및 시스템 모니터링을 위해 사용되는 기능입니다.

   다만, 이전 2008과 달리 별도로 메뉴가 신설되었습니다.

 http://technet.microsoft.com/ko-kr/library/bb630282(v=sql.110).aspx

 

3. Intergration Services 카탈로그

 : SSIS 패키지 관리를 위한 메뉴입니다.

  물론, SSIS 관련기능은 2005부터 제공이 되지만,

  2012에서는 별도의 메뉴가 신설되었습니다.

  이로 인해 별도의 Intergration Services Instance로 연결하지 않아도 되겠습니다.

  원래는 SSIS 로 별도 연결했었죠 아마...

  http://msdn.microsoft.com/ko-kr/library/ms137731(v=sql.110).aspx

 

이상입니다. ^^.

안녕하세요? SQL프론티어 3기 윤선식입니다.

 

각 버젼별 암호화 알고리즘을 정리해 보았습니다.

SQL 2012의 경우 RTM이 나와 봐야 알겠지만, 아마 크게 변경되진 않으리라 예상됩니다.

 

참고로, 여기서 이야기하는 양방향과 단방향은 아래 기준에 의해 편의상 정한 용어이오니 혼돈 없기 바랍니다.

 - 양방향 : 암호화, 복호화가 가능한 것.

 - 단방향 : 복호화가 불가능하고 암호화만 가능한 것.

 

1. 양방향

 1) SQL Server 2005 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(SQL.90).aspx

  DES, Triple DES, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES, 256비트 AES

 

 2) SQL Server 2008 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(SQL.100).aspx

  DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES, 256비트 AES

 

 3) SQL Server 2008 R2 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(SQL.105).aspx

  DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128비트 RC4, DESX, 128비트 AES, 192비트 AES, 256비트 AES

 

 4) SQL Server 2012 암호화 알고리즘

  http://technet.microsoft.com/ko-kr/library/ms345262(en-us,SQL.110).aspx

  DES, Triple DES, TRIPLE_DES_3KEY, RC2, RC4, 128-bit RC4, DESX, 128-bit AES, 192-bit AES, and 256-bit AES

 

2. 단방향(Hash)

 1) SQL Server 2005 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.90).aspx

  MD2, MD4, MD5, SHA, SHA1

 

 2) SQL Server 2008 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.100).aspx

  MD2, MD4, MD5, SHA, SHA1

 

 3) SQL Server 2008 R2 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.105).aspx

  MD2, MD4, MD5, SHA, SHA1

 

 4) SQL Server 2012 암호화 알고리즘(단방향)

  http://msdn.microsoft.com/en-us/library/ms174415(v=sql.110).aspx

  MD2, MD4, MD5, SHA, SHA1, SHA2_256, SHA2_512

 

이상입니다.


안녕하세요? SQL 프론티어 3기 쓸만한게없네(윤선식)입니다.

 

지난 번 ISDATE 함수에 이은 ISNUMERIC 함수 설명입니다. ^^.

 http://www.sqler.com/467518

 

ISNUMERC 함수는 ISDATE(표현) 이런 식으로 사용하고, 숫자형식인 경우 1 숫자형식이 아닌 경우 0을 반환합니다.

 

SELECT

       ISNUMERIC('1234') AS '1',

       ISNUMERIC('A587') AS '2',

       ISNUMERIC('222!') AS '3',

       ISNUMERIC('123l123') AS '4',

       ISNUMERIC('157.123') AS '5',

       ISNUMERIC(NULL) AS '6',

       ISNUMERIC('') AS '7',

       ISNUMERIC('0') AS '8',

       ISNUMERIC('12345678901234567890') AS '9',

       ISNUMERIC('1234567890123456789012345678901234567890123456789012345678901234567890') AS '10',

       ISNUMERIC('1.234567890123456789012345678901234567890123456789012345678901234567890') AS '11'

ISNUMERIC.png

 

1 : ISNUMERIC('1234') AS '1' : 숫자 형태입니다. "1"을 반환합니다.

2 : ISNUMERIC('A587') AS '2' : 문자가 포함되어 있습니다. "0"을 반환합니다.

3 : ISNUMERIC('222!') AS '3' : 특수문자가 포함되어 있습니다. "0"을 반환합니다.

4 : ISNUMERIC('123l123') AS '4' : 지난 번 ISDATE 함수 속임수 처럼 중간에 1이 아닌 L 이 있습니다. "0"을 반환합니다.

5 : ISNUMERIC('157.123') AS '5' : 소숫점을 포함해 봅니다. 숫자형태로 인식하여 "1"을 반환합니다.

6 : ISNUMERIC(NULL) AS '6' : NULL은 숫자로 인식하지 않습니다. "0"을 반환합니다.

7 : ISNUMERIC('') AS '7' : 공백도 숫자로 인식하지 않습니다. "0"을 반환합니다.

8 : ISNUMERIC('0') AS '8' : 0 은 숫자입니다. "1"을 반환합니다.

9 : ISNUMERIC('12345678901234567890') AS '9' : BIGINT 보다 큰 수를 대입해 봅니다. 숫자로 인식하여 "1"을 반환합니다.

10 : ISNUMERIC('1234567890123456789012345678901234567890123456789012345678901234567890') AS '10' : 매우 큰 숫자형태를 대입해 봅니다. 이 또한 형태가 숫자이어서 전체 자릿수와 상관없이 숫자로 인식합니다. 그러므로, "1"을 반환합니다.

11 : ISNUMERIC('1.234567890123456789012345678901234567890123456789012345678901234567890') AS '11' : 매우 큰 소숫점 형태를 대입해 봅니다. 이 또한 형태가 숫자이어서 전체 소숫점 자릿수와 상관없이 숫자로 인식합니다. 그러므로, "1"을 반환합니다.

 

결론적으로 숫자로 인식할 수 있는 모든 문자를 숫자형태로 보고 있습니다.

실무에서 사용할 때에는 단순하게 사용할 것이 아니라 DataType을 반드시 확인하고 사용해야 할 듯 합니다.

 

감사합니다.


코드명 지을 때 지역 명칭인 건 다 아시죠?

 

Denali는 알래스카 내부에 위치한 맥킨리 산을 의미합니다.

즉 알래스카에 있는 국립공원이 있는 곳이라고 보시면 될 듯 하네요.

 

Denali_National_Park.jpg

 

멋지죠?

+ Recent posts