Ruby와 함께 Dashing을 프로젝트로 사용합니다.
19.42
데이터베이스에서 실행할 때 반환되는 SQL 쿼리가 있습니다. 그러나 코드에 넣으면 .1942
. 내가 알아 내려고하는 것은 소수점을 두 자리만큼 오른쪽으로 이동시키는 방법입니다.
쿼리와 코드는 다음과 같습니다.
require 'mysql2'
SCHEDULER.every '2h', :first_in => 0 do |job|
# MySQL connection
db = Mysql2::Client.new(:host => "host", :username => "username", :password => "password", :port => port, :database => "database" )
sql6 = "SELECT AVG(tickets.total_user_waiting) / (60 * 60) AS 'Total Tickets' FROM tickets WHERE tickets.status IN ('resolved', 'archived') AND tickets.date_resolved between date_format(date_sub(now(), interval 7 day), '%Y-%m-%d 00:00:00') and date_format(date_sub(now(), interval 1 day), '%Y-%m-%d 23:59:59');"
response_sql = db.query(sql6)
send_event('response_sql', {current: response_sql.first['Total Tickets']})
다음은 데이터베이스에서만 SQL 쿼리의 결과입니다.
+-------------+
| 19.40648160 |
+-------------+
Ruby로 작성된 코드의 출력은 다음과 같습니다.
0.194064816E2
나는 그것이 이상적이지만 소수점 두 자리를 오른쪽으로 가져오고 있기 때문에 끝 숫자를 제거하는 것에 대해별로 걱정하지 않습니다.
나는 선택 라운드를 시도했지만 데이터베이스에서 운이 없었습니다.
내가 가지고 있던 문제를 해결 한 해결책은 다음과 같습니다.
send_event('response_sql', {current: response_sql.first['Total Tickets'].ceil})
그래서 내가 한 일은 .ceil
보내기 이벤트의 끝에 추가되었습니다 . 그런 다음 두 개의 숫자로 반올림했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다