MySQL CONCAT 특정필드의 데이타값 앞 또는 뒤에 문자 붙이기

데이타베이스/MySql 2014. 6. 21. 12:46

1. 앞에 문자 값 붙이기


========================================

uid    |   hp

-----------------------------------------

1        |    12345678

2        |    10233445

------------------------------------------


UPDATE `cp_member` SET `hp` = CONCAT( '0', hp )


========================================

uid    |   hp

-----------------------------------------

1        |    012345678

2        |    010233445

------------------------------------------





2. 뒤에문자 값 붙이기


========================================

uid    |   hp

-----------------------------------------

1        |    12345678

2        |    10233445

------------------------------------------


UPDATE `cp_member` SET `hp` = CONCAT( hp, '_0')


========================================

uid    |   hp

-----------------------------------------

1        |    12345678_0

2        |    10233445_0

------------------------------------------

'데이타베이스 > MySql' 카테고리의 다른 글

mysql locate 문자 비교하기  (0) 2012.04.28
MySql subquery left join  (0) 2012.03.20

mysql locate 문자 비교하기

데이타베이스/MySql 2012. 4. 28. 00:56

mysql 특정 문자가 들어 있는 데이타만 출력하는 방법


locate로 일치하는 문자 값을 찾을 때 즉, php의 strstr 함수하고 같다고 봐도 될것 같다.


문법 : locate ('비교문자','필드명')
결과 : 숫자 반환



아래와 같은 mysql 데이타가 있다고 가정한다.

+-------+----------------------------------

|   uid   |     fid

+-------+----------------------------------

|   1      |     1.999

+-------+----------------------------------

|   2      |     1.998

+-------+----------------------------------

|   3      |     2.999

+-------+----------------------------------

|   4      |     2.998

+-------+----------------------------------


위 데이타 중 ".999" 문자가 일치하는 것만 출력 하도록 해보자


SELECT * FROM table WHERE (locate('.999', fid ) > 0)


위와 같이 쿼리를 날리면 다음과 같은 결과가 나온다.

+-------+----------------------------------

|   uid   |     fid

+-------+----------------------------------

|   1      |     1.999

+-------+----------------------------------

|   3      |     2.999

+-------+----------------------------------

MySql subquery left join

데이타베이스/MySql 2012. 3. 20. 13:49
mysql 4.1 이상 부터는 subquery가 지원된다.

그 중에 subquery 이면서 left join 과 같은 기능을 하는
쿼리 문에 대해 말할까 한다.

정말 괜찮은 방식 인것 같다

다음은 mysql 5.0 에서 테스트 했습니다.


@ [table] member
|+==================================================  
  uid 고유번호 | userid 아이디 | passwd 비밀번호
|+--------------------------------------------------
1      l testid         | testpasswd1234
|+--------------------------------------------------- 
2      l ddtest         | dddpd1234
|+---------------------------------------------------   

@ [table] member_info
|+===========================================================================================  
  member_uid 회원번호 |     name 이름       |        email 이메일                |               hp
|+-------------------------------------------------------------------------------------------
1      l     나당   | test@test.com                 |        010-1234-5678
|+------------------------------------------------------------------------------------------- 
                    2          l 멋쟁이       |     master@gmail.com          |       010-5256-7532
|+-------------------------------------------------------------------------------------------   
SELECT * 
FROM member m, (SELECT * FROM member_info WHERE member_uid=2) i 
WHERE m.uid = i.member_uid

@ 결과 /-------------------------------

array(

'uid'                  => 2,
'userid'             => 'ddtest',
'passwd'           => 'dddpd1234',
'member_uid'     => '2',
'name'              => '멋쟁이' ,
'email'              => 'master@gmail.com',
'hp'                  => '010-5256-7532'
);