본문 바로가기

Programming147

MSSQL 숫자만 뽑아내기 MSSQL에서 전화번호 같은 테이블에서 숫자만 뽑아내는 함수이다.예를 들어서 010-0000-0000 -> 01000000000 으로.. 학생 테이블이 다음과 같이 있다고 치자. CREATE FUNCTION dbo.udf_GetNumeric(@strAlphaNumeric VARCHAR(256))RETURNS VARCHAR(256)ASBEGINDECLARE @intAlpha INTSET @intAlpha = PATINDEX('%[^0-9]%', @strAlphaNumeric)BEGINWHILE @intAlpha > 0BEGINSET @strAlphaNumeric = STUFF(@strAlphaNumeric, @intAlpha, 1, '' )SET @intAlpha = PATINDEX('%[^0-9]%', .. 2018. 4. 17.
MSSQL 인코딩 확인 및 변경 MSSQL에서는 COLLATION을 활용하여 인코딩을 변경할 수 있다. 테이블의 인코딩을 확인하는 쿼리는 다음과 같다. SELECT COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTHFROM INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = 'STUDENT' 인코딩을 변경하고 싶다면-- NAME 컬럼의 인코딩을 Latin1_General_CI_AS로 변경.ALTER TABLE STUDENT ALTER COLUMN NAME VARCHAR(30) COLLATE Latin1_General_CI_AS 인코딩 종류는 MS공식 문서에서 확인하자. 2018. 4. 17.
MSSQL 데이터에서 문자열 찾기 어떤 테이블에서 특정 컬럼의 데이터를 확인할 때 like '%문자열%'을 사용한다.하지만 매번 컬럼을 바꿔가면서 SELECT를 하기에는 너무 귀찮다 그래서 다음 프로시저를 만들어서 조회를 해보자 exec sp_FindStringInTable '%los%','dbo','ADDRESS' CREATE PROCEDURE sp_FindStringInTable @stringToFind VARCHAR(100), @schema sysname, @table sysname AS DECLARE @sqlCommand VARCHAR(8000) DECLARE @where VARCHAR(8000) DECLARE @columnName sysname DECLARE @cursor VARCHAR(8000) BEGIN TRY SET @sq.. 2018. 4. 17.
TCP/IP Socket programming 소켓 프로그래밍은 요즘 대학교 네트워크 과목에서 배우지만 웹 개발을 많이 하는 요즘 듣기가 어렵다. 그래도 인프라를 하려면 어느 정도를 알고 있어야 한다. 소켓 프로그래밍은 흔히 전화기랑 많이 빗대는데 가령 서버측에서 전화기를 만들고 전화번호를 할당하고 수화기를 놓고 기다리면 클라이언트 측에서 전화번호를 누르고 전화를 거는 방식과 같다고 보면된다. 리눅스와 윈도우에서 함수명 등 표준에 있어서 차이가 조금 있지만 흐름은 거의 비슷하다. 서버 측 #include 1. int socket(int domain, int type, int protocol); //소켓생성 2. int bind(int sockfd, struct sockaddr *myaddr, socklen_t addrlen); //주소할당 - 소켓의.. 2018. 4. 17.