12345, 543.21, 109.87.654 등과 같이 하나 이상의 점으로 구분 된 정수로 정의 된 문자열이 있습니다. MySQL 데이터베이스에 값을 저장하고 있어야합니다. 제공된 값과 비교하는 행을 찾습니다. 내가 원하는 것은 문자열의 각 구성 요소를 입력 문자열의 해당 구성 요소와 비교하여 행을 선택하는 것입니다. 이 고장 곳 MySQL의 표준 문자열 비교로, 여기 :ActiveRecord/MySQL 조건 선택 문자열 구성 요소 비교
mysql> SELECT '543.21' >= '500.21'
-> 1
mysql> SELECT '543.21' >= '5000.21'
-> 1
문자열 비교 문자열 길이를 고려하지 않는 "사전"비교이기 때문에 이것은 자연입니다,하지만 난에 0 결과를 원하는 두 번째 쿼리.
MySQL과 비교하는 방법에 대한 힌트를 제공 할 방법이 있습니까? 그렇지 않으면 ActiveRecord에이 작업을 수행하는 방법을 알려줄 수 있습니까? 지금 당장 가장 좋은 해결책은 모든 행을 선택하고 Ruby의 split
및 reject
메서드를 사용하여 결과를 필터링하는 것입니다. (전체 데이터 세트는 아주 작아서 가까운 미래에 끔찍하게 커질 가능성이 거의 없기 때문에 합리적인 선택이지만, 고려하지 않은 간단한 방법이 있다면 기꺼이 알게 될 것입니다.)
그 점들이 필요합니까? – klew