제발, 제 질문에 대답 해주십시오. SQL을 사용하여 문자열 끝에서 숫자를 제거하는 방법은 무엇입니까? 예를 들어 '2Ga4la2009'문자열은 2Ga4la로 변환되어야합니다. 문제는 문자열 끝에 얼마나 많은 자릿수가 있는지 모르기 때문입니다. 안부 인사, 갈리나.SQL을 사용하여 문자열의 끝에서 숫자를 제거하는 방법
답변
이것 좀보세요 : 당신이 어떤 이유로 UDF를 사용할 수 있으며, DB를 클라이언트 측에서 그것을하지 않으려면 다음을 항상 할 수 http://www.mysqludf.org/lib_mysqludf_preg/
을 그리고 :
를끝에서 첫 번째 문자의 위치
마 LEFT (25 개 문자열의 반대에 찾아 예 : 최소) (@string, @string_length - result_of_step_1 @) 찾기
을
당신 때문에이 경우 문자열의 끝에있는 숫자는 반환이 찾을 수없는 경우에는 특별한 처리를 할 필요가 없습니다 0
건배
처음에는 그렇게 생각했지만 나중에는 정규 표현식을 사용하거나 사용할 수있는 표준 함수가 있다고 생각하기 시작했습니다. MySQL에서 regulare 표현이 도움이되지 않는 것처럼 보입니다. – user307880
예, Regexp replace는 불행히도 MySQL의 일부가 아닙니다. 그러나 일반적으로 db 클라이언트 (예 : 응용 프로그램)에서 수행하는 것이 좋습니다. – glebm
가끔은 서버에서 유용 할 수 있습니다. 예를 들어, 테이블의 모든 행에 대해 앞서 언급 한 작업을 수행해야합니다. – user307880
이 작동하는 것 같다 :
select left(concat('2Ga4la2009','1'), length(concat('2Ga4la2009','1')) - length(convert(convert(reverse(concat('2Ga4la2009','1')),unsigned),char)))
concat ('myvalue', '1')은 0으로 끝나는 숫자를 보호합니다.
숫자가 앞쪽에 오도록 역방향으로 뒤집습니다.
내부 변환은 뒤의 문자열을 숫자로 변경하여 후행 문자를 삭제합니다.
외부 변환은 숫자 부분을 문자로 다시 바꿈으로써 길이를 가져올 수 있습니다.
숫자 부분의 길이를 알았으므로 "left()"기능을 사용하여 잘라낼 원래 값의 문자 수를 결정할 수 있습니다.
추악하지만 작동합니다. :-)
도 내 버전보다 빠르지 만, 확실하지는 않지만 – glebm
나는 그것을 검사 할 것이다. – user307880
매우 흥미로운 것 같습니다. 나는 그것을 시험 할 것이다. – user307880
- 1. 문자열의 끝에서 숫자를 가져 오는 정규식
- 2. PL/SQL-REGEXP_REPLACE를 사용하여 문자열의 끝에서 0D를 제거하는 방법은 무엇입니까?
- 3. Regex.Replace를 사용하여 문자열에서 숫자를 제거하는 방법?
- 4. 문자열의 모든 숫자를 채우는 방법
- 5. Regex를 사용하여 문자열의 초과 공백을 제거하는 방법
- 6. Apache .htaccess : 디렉토리 끝에서 슬래시를 제거하는 방법?
- 7. SQL을 사용하여 Oracle APEX에서 숫자를 함께 연결
- 8. 문자열의 처음에서 숫자를 인식하는 정규식입니다.
- 9. PHP에서 문자열의 숫자를 어떻게 제거합니까?
- 10. jquery를 사용하여 문자열 내에서 문자열의 일부를 제거하는 방법
- 11. 문자열의 끝에서 특수 문자를 제거하려면 어떻게해야합니까?
- 12. 정규식 : 제로 찾기 문자열의 끝에서 소수점 앞에
- 13. 문자열의 시작과 끝에서 큰 따옴표를 사용하지 마십시오.
- 14. 문자열의 끝에서 파이썬으로 구분되는 일치 문자열
- 15. 루비에서 문자열의 시작과 끝에서 패턴 제거하기
- 16. Excel로 문자열 조작 - 다른 부분이 있으면 문자열의 일부를 제거하는 방법?
- 17. OCaml에서 문자열의 공백을 제거하는 방법은 무엇입니까?
- 18. 시퀀스 끝에서 Seq.iteri를 사용하여 i를 바인딩하는 방법
- 19. VSVIM을 사용하여 줄 끝에서 추가하는 방법
- 20. NSNumberFormatter를 사용하여 숫자를 반올림하는 방법
- 21. 문자열의 마지막 숫자와 다른 문자열의 같은 자리에있는 숫자를 비교하십시오.
- 22. 루비에서 알파벳과 숫자가 아닌 문자를 제거하는 방법
- 23. 모든 비 숫자를 문자열의 빈 문자로 바꿉니다.
- 24. 문자열의 숫자를 어셈블리의 기본으로 변환하려면 어떻게해야합니까?
- 25. PHP 문자열의 끝과 시작 부분에서 여분의 문자를 제거하는 방법
- 26. 텍스트와 숫자를 제외한 변수에서 모든 것을 제거하는 방법
- 27. SQL을 사용하여 JIRA 데이터베이스 정리하기
- 28. CSS를 사용하여 공백을 제거하는 방법
- 29. CSS를 사용하여 클래스를 제거하는 방법
- 30. nosetests를 사용하여 디버깅을 제거하는 방법
숫자 앞에있는 문자열은 길이가 될 수 있습니까? – Steve
예, 숫자 앞에있는 문자열은 임의의 lenth가 될 수 있습니다. – user307880
작동하는 답변을 찾으면 "동의"하여 저자가 크레딧을 얻게하십시오. – h0tw1r3