Omk*_*ngh 23
这是 Hackerrank 挑战The Blunder 的解决方案 (MySQL)
SELECT CEIL((AVG(salary)) - (AVG(REPLACE(salary, '0', '')))) AS avg_salary FROM employees;
Run Code Online (Sandbox Code Playgroud)
Jua*_*eza 14
REPLACE('0349010330', '0', '');
Run Code Online (Sandbox Code Playgroud)
这也有用
REPLACE('0349010330', '0');
Run Code Online (Sandbox Code Playgroud)
甲骨文/ PLSQL
SELECT TO_NUMBER(REPLACE(TO_CHAR(0349010330),'0','')) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
的MySQL
SELECT CONVERT(REPLACE(STR(0349010330),'0',''),INTEGER) FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
解决方案在这里->
`SELECT ROUND(AVG(SALARY)-AVG(TO_NUMBER(REPLACE(TO_CHAR(SALARY),'0')))+.5,0) FROM EMPLOYEES;`
Run Code Online (Sandbox Code Playgroud)
SQL Server 的HakerRank解决方案
SELECT CEILING(AVG(SALARY))- CEILING(AVG(CAST(REPLACE(SALARY,'0','')AS INT))) +1 FROM EMPLOYEES;
Run Code Online (Sandbox Code Playgroud)
我不知道为什么最后需要“+1”才能得到正确的答案。
无需将其转换为字符串即可使用替换
MySQL解决方案
SELECT CEIL(AVG(SALARY)-AVG(REPLACE(SALARY,"0",""))) FROM EMPLOYEES ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27445 次 |
| 最近记录: |