[20211220]sqlplus简单计算器.txt --//看了tpt包calc.sql脚本,他要求输入3个参数,计算出10进制以及16进制结果. --//但是他的脚本比较灵活支持10进制以及16进制数字的输入: --//例子: SCOTT@book> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production SCOTT@book> @ calc 10 + 4 DEC HEX ----------------------------------- -------------------- 14.000000 E SCOTT@book> @ calc 0x10 + 4 DEC HEX ----------------------------------- -------------------- 20.000000 14 SCOTT@book> @ calc x10 + 4 DEC HEX ----------------------------------- -------------------- 20.000000 14 --//我自己写一个简单一点的输入10进制,算出10进制,16进制的结果.注意输入参数中间不能有空格。 $ cat calcx.sql COL value new_value newvalue COL calc_dec HEAD "DEC" FOR 999999999999999999999999999.999999 COL calc_hex HEAD "HEX" FOR A20 JUSTIFY RIGHT set termout off select &1 value from dual; set termout on select &newvalue calc_dec , TO_CHAR (&newvalue, 'FM0xxxxxxxxxxxxxxx') calc_hex from dual ; --//测试: SCOTT@book> @calcx 120/12 DEC HEX ----------------------------------- -------------------- 10.000000 000000000000000a SCOTT@book> @calcx power(2,10)+1 DEC HEX ----------------------------------- -------------------- 1025.000000 0000000000000401 --//我以前从网上抄来一个bash计算器,自己修改一下,定义成函数.看看在sqlplus里面是否支持bash函数调用. --//使用bc计算器,里面函数不能使用圆括号,使用中括号代替。 --//测试不行。修改成shell。 # cat //usr/local/bin/== # /bin/bash # simple calc in="$(echo "$@" | sed -e 's/\[/(/g' -e 's/\]/)/g')"; echo $in | bc -lq | tr -d '\n\\\r' | sed -e "s/\.\([0-9]*[1-9]\)0\+$/.\1/" -e "s/\.0\+$//" echo SCOTT@book> host == "scale=4;4/3" 1.3333 --//有分号要加引号才行. SCOTT@book> host == 2^240 1766847064778384329583297500742918515827483896875618958121606201292619776 --//在bc下执行出现折行情况. $ echo 2^240 | bc -lq 17668470647783843295832975007429185158274838968756189581216062012926\ 19776 SCOTT@book> host == "scale=100;a(1)*4" 3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170676 --//PI小数点100位.
[20211220]sqlplus简单计算器.txt
来源:这里教程网
时间:2026-03-03 17:20:53
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 连上无线网却不能上网?为你解答
连上无线网却不能上网?为你解答
26-03-03 - databas如何避免重复故障
databas如何避免重复故障
26-03-03 - database(Oracle MySQL)查询速度和数据量有关系吗?
database(Oracle MySQL)查询速度和数据量有关系吗?
26-03-03 - Oracle clone database
Oracle clone database
26-03-03 - 系统进程是什么?怎么通过系统进程进行病毒分析?
系统进程是什么?怎么通过系统进程进行病毒分析?
26-03-03 - Oracle意外发现PDB适合微服务和中台
Oracle意外发现PDB适合微服务和中台
26-03-03 - Oracle的特性分页
Oracle的特性分页
26-03-03 - Oracle的压测
Oracle的压测
26-03-03 - Oracle 隐藏列
Oracle 隐藏列
26-03-03 - oracle位图索引对DML操作的影响
oracle位图索引对DML操作的影响
26-03-03
