본문 바로가기

SQL

(8)
where 에서 like 대신 INSTR 사용 하는 것도 기존 방식 SELECT * FROM `point` WHERE po_content like '%손님%'; INSTR 사용 SELECT * FROM `point` WHERE INSTR(LOWER(po_content),LOWER('손님'));
오라클(Oracle), MS-SQL 함수 오라클과 MS-SQL 함수, 쿼리 차이점(마이그레이션) 쿼리 오라클9i MS-SQL2000 값 대체 DECODE ex) DECODE(컬럼명, 'A', 'OK', 'B', 'NO', 컬럼명) CASE WHEN (오라클도 있음) ex) CASE WHEN 컬럼명 = 'A' THEN 'OK' WHEN 컬럼명 = 'B' THEN 'NO' ELSE 컬럼명 END 문자열 자르기 SUBSTR ex) SUBSTR('ANSDDD', 1, 2) = 'AN' SUBSTRING ex) SUBSTRING('ANSDDD', 1,2) = 'AN' 시스템시간 SYSDATE GETDATE() 널값제어 NVL ex) NVL(컬럼명,0) => 컬럼값이 널이면 0으로 대체 isNULL ex) isNULL(컬럼명,0) => 컬럼값이 널이면 0..
저장 프로시저 (Store Procedure) 예제 [스토어드프로스져 예제] CREATE proc spAccount_list @name varchar(20) , @accountidx int , @nickname varchar(12) , @result int OUT /* 0 -ok, 1 - error, 2 - exist */ as begin declare @name_db varchar(255) declare @name_db_where varchar(255) set @result = 0 set nocount on set @name_db=ASCII(left (@name,1)) set @name_db_where = @name_db%5 select accountidx from account_list where accountidx = @accountidx if @@..
DB존재 파악하고 없으면 DB테이블 생성 많은 방법들이 있겠지만, 가장 널리 쓰이는 2가지 방법을 정리하면 1. SQL create table if not exists 'tablename' 2. Function function table_exist_check($table,$handle) { $result = mysql_query("SHOW TABLES LIKE '{$table}'",$handle); $row = mysql_fetch_assoc($result); if ( $row ) return true; return false; } table_check3('tablename',$dbconn);
[SQL]중복 값 갯수 구하기 SELECT count( account ) AS accounts, account FROM cb GROUP BY account ORDER BY accounts DESC LIMIT 0 , 30
SQL JOIN 테이블간 조인에 대해 알아봅시다. 여기서 테이블이란, 테이블 뿐만이 아니라, 아주 폭넓은 의미가 될 수 있습니다. 이럴테면, 뷰가 될수도 있고, 테이블리턴함수에 의한 row들의 결과물이 될수도 있고, SELECT 에 의한 row 들의 결과물이 될수도 있습니다. 즉, record 형태로 보여질수 있는 모든 결과물이 올 수가 있습니다. 이 조인 방법에는 3가지가 있습니다. INNER JOIN, OUTER JOIN, SELF JOIN 인데, 각각 사용목적이 틀립니다. 때에 따라선 똑같은 결과가 나올수 있지만, 처리방식에 있어서 차이가 있으니 적절한 곳에 적절한 방식을 사용해야 할 것입니다. 본 결과물은 PostgreSQL 7.4.6 에서 시행되었습니다. 주의: 다 쓰고 보니 '도시' 라는 테이블명과 날씨테이블..
[PHP] 직관적인 MySQL connect 및 Query $dbconn=mysql_connect("localhost","user","userpw"); $status=mysql_select_db("db",$dbconn); $q="select * from download_server"; $re=mysql_query($q,$dbconn); $total=mysql_num_rows($re); for($k=1;$k
DB 테이블 안의 내용 검색하여 지우기 (스팸 정책 중 하나) delete from DB_TABLE WHERE MATCH(필드) AGAINST ('검색어' IN BOOLEAN MODE);