2012-06-08 2 views
3

내 부품 번호의 모든의 열의 중간 부분을 추출은, 열 "part_no"나는 단지 중간 부분을 추출하는 새 열을 만들 필요가이 MySQL을

에서 "00-00000-00"로 포맷 된 있습니다 부품 번호의 "00"과 "-00"사이의 다섯 문자.

php를 통해 레코드를 만들 때이 결과를 만들 수 있습니까?

감사

에릭

답변

3

먼저 그 데이터를 보유하기 위해 열을 생성해야합니다, 당신은이 작업을 수행해야한다 :

UPDATE tableName SET newColumnName = SUBSTR(part_number,4,5); 
+1

감사합니다. 나는 새 레코드를 생성 할 때 클라이언트 측에서이를 달성하기 위해, 수 광고 이것 라인 : $ 순서 = "cartons_added INTO INSERT (add_time, 유형, part_no, add_type, add_qty, add_ref, add_by, add_notes) \t \t \t VALUES ('$ 날짜' '$ _POST [형], '$ _POST [part_no], '$ _POST [add_type], '$ _POST [add_qty], '$ _POST [add_ref] ', '$ _POST [add_by] ', '$ _POST [add_notes] ') "; – Erik

+0

PHP에는 클라이언트 측이 없으므로 PHP에서 모든 것이 서버 측에서 실행된다는 것을 기억하십시오. 레코드를 삽입 할 때이 값을 생성하려면 PHP로 직접 레코드를 삽입하거나 트리거를 사용하여 RDBMS에 로직 일부를 전달할 수 있습니다 – PachinSV

3
select substring(part_no, 4, 5) as middle_part 
from your_table 
+0

php를 통해 레코드를 만들 때이 결과를 만들 수 있습니까? – Erik

+0

삽입 문을 사용 하시겠습니까? ''insert into your_table (part_no) values ​​(substring ('00 -00000-00', 4, 5))' –

+0

잘 작동하지만, 기존의 모든 레코드를 영구적으로 유지해야합니다. 부분 문자열 (part_no, 5, 5)을 코어로 선택 from cartons_cuurrent – Erik

-1
$result = "00-00000-00"; 
    $answer = substr($result, 3, 5);