首页
学习
活动
专区
圈层
工具
发布

SQL工具集-格式化结果的SQL

无论是数据库,还是其他的领域,一些工具是方便了我们日常的工作需求,但同时由于其封装了一些细节,因此若只是知道用法,不知道实现原理,对于个人来说,浪费了一次锻炼的机会,因为往往这些经典的工具,蕴含着一些可以借鉴的逻辑...今天我们“SQL工具集”介绍的是一个存储过程,他的作者是大名鼎鼎的Tom,Oracle界最著名的一个网站AskTom,就是这个Tom,虽然现在Tom大叔已经退休了,但是网站还在被其他人运营,延续着Oracle...这个存储过程的名称是print_table,用于格式化打印SQL结果,为了做下对比,我们看下常规检索v$database视图的效果, ? 若不使用col格式化一些字段,输出是乱的,没有可读性。...p=100:11:0::::P11_QUESTION_ID:1035431863958 原版存储过程接受两个参数,一个是SQL语句,一个是日期的格式化,默认值是’dd-mon-yyyy hh24:mi:...当然存储过程中任何地方,均可以自定义,例如对于判断字段属性BLOB,可以设置任何自己需要的格式,包括日期格式,例如书中使用的是删除日期格式化参数的版本, ?

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    用C++模拟奇怪的手机计算器

    问题的起源是网友发现手机计算器上计算10%+10%这样的小学数学范畴的运算时,手机计算器得出的结果并不是标准数学答案0.2,而是让人觉得有点奇怪的0.11!...和计算机一样,计算器软件的发源地也在西方,所以计算风格也是依照西方人的使用习惯:西方人在计算小费、购物折扣、存款利益、利润增长等生活和工作场景时,非常频繁地使用到像x+x*10%、x+x*20%这样的问题...这个计算逻辑相当于我们的200+200*15%。再来个稍微复杂点的200+10%+10%,你可以在你的手机上用计算器试试看,结果是不是242!...所以,手机上这个“奇怪“的计算器的计算逻辑就是如此,搞清这个设计思路以后,会发现这个计算器一点也不奇怪。以此思路,编写了一个简单的c++程序来模拟一下这个计算结果。...可以在你的手机计算器上核对下结果是否一致!

    1.2K00

    10%+10%=0.11?是bug还是feature?

    实际上,这些计算器并不是为数学家和工程师准备的,但%的引入,却可以极大方便计算折扣,税率,小费等。...那么在标准计算器或者说这些简单功能的计算器中%到底是什么作用呢?...),当操作符是乘法或者除法的时候,与%相关的直接除以100再和另外的数操作(即我们通常认识的算法),否则就按照上一次结果的百分比来计算。...只不过很多手机计算器中直接把第一个10%当成了0.1,这也就是我们看到一些手机计算器最终会得到0.11结果的原因。 但是如果你计算100 * 10%,它按照原始的方式计算,即计算得到10。...另外我们都知道,%常用于取模运算,它是一个二元运算符,例如: 10%3 = 1 所以当你在Linux的命令行输入bc,然后输入10+10%,你会看到下面的结果 $ bc 10+10% (standard_in

    66510

    震惊!10%+10%=0.11?是bug还是feature?

    近日,关于手机计算器10%+10%=0.11的事情火热,多个品牌的手机未能幸免,基本“阵亡”,同时还包括了windows10的自带标准计算器。你的手机阵亡了吗?...实际上,这些计算器并不是为数学家和工程师准备的,但%的引入,却可以极大方便计算折扣,税率,小费等。...),当操作符是乘法或者除法的时候,与%相关的直接除以100再和另外的数操作(即我们通常认识的算法),否则就按照上一次结果的百分比来计算。...只不过很多手机计算器中直接把第一个10%当成了0.1,这也就是我们看到一些手机计算器最终会得到0.11结果的原因。 但是如果你计算100 * 10%,它按照原始的方式计算,即计算得到10。...另外我们都知道,%常用于取模运算,它是一个二元运算符,例如: 10%3 = 1 所以当你在Linux的命令行输入bc,然后输入10+10%,你会看到下面的结果 $ bc 10+10% (standard_in

    69420

    阿里P8级架构师怎么处理电商业务中的数值计算的精度舍入溢出问题?

    1 计算器的灾难:10%+10%到底等于几? 我们人类以为是 0.2,可是打开手机计算器试试呢?...所以,手机计算器实际上在计算10%*(1+10%)= 0.11。 再通俗点一句话说清运算原理。以8+10%为例,为什么=8.8而不是8.1?一起读:8元钱,加上10%的小费,一共是8.8元。...最早的电子计算器并没有%,是后来加的。作为后续改进,它一定解决了计算场景中的常用痛点,而绝不是脑残。我推测很可能是西方人计算折扣、小费、利息等常见场景。...应考虑显式编码,通过格式化表达式或格式化工具 4.1 明确小数位数和舍入方式 通过String.format使用%.1f格式化double/float的3.35浮点数 [watermark,type_ZmFuZ3poZW5naGVpdGk...所以即使通过DecimalFormat精确控制舍入方式,double/float也可能产生奇怪结果,所以 4.2 字符串格式化也要使用BigDecimal BigDecimal分别使用向下舍入、四舍五入取

    89240

    微软开源的计算器项目告诉你答案!

    作者 | 守望先生 来源 | 编程珠玑 前言 近日,关于手机计算器10%+10%=0.11的事情火热,多个品牌的手机未能幸免,基本“阵亡”,同时还包括了windows10的自带标准计算器。...实际上,这些计算器并不是为数学家和工程师准备的,但%的引入,却可以极大方便计算折扣,税率,小费等。...),当操作符是乘法或者除法的时候,与%相关的直接除以100再和另外的数操作(即我们通常认识的算法),否则就按照上一次结果的百分比来计算。...只不过很多手机计算器中直接把第一个10%当成了0.1,这也就是我们看到一些手机计算器最终会得到0.11结果的原因。 但是如果你计算100 * 10%,它按照原始的方式计算,即计算得到10。...另外我们都知道,%常用于取模运算,它是一个二元运算符,例如: 10%3 = 1 所以当你在Linux的命令行输入bc,然后输入10+10%,你会看到下面的结果 $ bc 10+10% (standard_in

    72820

    t检验的几种应用案例

    对比发现,t统计量0.706是小于临界值0.821的,故不能拒绝原假设,即认为饮料净含量的检验结果是合格的。...(如果数据中存在缺失值,则检验结果返回nan) nan_policy = 'propagate' ) out: Ttest_1sampResult...(statistic=0.7058009503746899, pvalue=0.49112911593287567) 如上结果所示,ttest_1samp函数返回两部分的结果,一部分是t统计量,另一部分是概率...步骤三:计算t统计量 根据步骤二中的计算公式,便可以轻松地得到t统计量的值,这里不妨以前文介绍的服务员小费数据为例,判断男女顾客在支付小费金额上是否存在显著差异。...接下来结合这两个函数,完成小费金额的t检验,代码及输出结果如下: # 男性客户支付的小费 male_tips = tips.loc[tips.sex == 'Male', 'tip'] # 男性客户支付的小费

    10.1K20

    Pandas常用的数据处理方法

    你可能已经注意到了,在执行df.groupby('key1').mean()的结果中,结果并没有key2这一列,这是因为key2这一列不是数值数据,所以从结果中排除了,默认情况下,所有的数值列都会被聚合...关于agg还有更多的功能,我们使用小费数据(下载地址:http://pan.baidu.com/s/1bpGW3Av 密码:2p9v),我们读入数据,并计算小费率一列: tips = pd.read_csv...transform函数 transform会将一个函数运用到各个分组,然后将结果放置到适当的位置上。...apply函数 同agg一样,transform也是有严格条件的函数,传入的函数只能产生两种结果:要么产生一个可以广播的标量值,如np.mean,要么产生一个相同大小的结果数组.最一般化的GroupBy...从上面的例子可以看出,分组键会跟原始对象的索引共同构成结果对象中的层次化索引。

    9K90

    网络流简介

    本系列文章只讨论网络流在信息学奥赛中的应用 前言 网络流在信息学奥赛中是一个非常庞大的体系,因为该知识点的模型多变,建模方式复杂,对选手的能力要求较高,因此在各种中高难度级别的比赛中都时常能见到它的身影...(起码SDOI几乎是一年一次) 网络流属于图论问题,而图论问题本质上还是数学问题,因此网络流中的每个结论都能在度娘那里找到详细的证明 概念 有向图:每条边都有方向的图。。...源点 :入度为0的点 汇点:出度为0的点 (好像不太严谨,大家直观感受一下:joy:) 定义:在有向图G(V,E)中,若存在一源点S,汇点T,且每条边(u,v)都有一定的非负容量限制,则称该图为网络流图...这就是一个标(nan)准(kan)的网络流图 其中S表示源点,T表示汇点,每条边的权值表示流量。...最小费用最大流 无源汇上下界最小费用可行流 其中每个部分又有许多经典模型,所以我打算把知识细化开讲,这样方便大家理解

    1K50

    python数据分析入门笔记[1]

    #输出3 1.01 (二)筛选出需要的数据(用的是tips.csv的数据,数据来源:https://github.com/mwaskom/seaborn-data) #example:假设我们要筛选出小费大于...print frame['tz'].fillna(1111111111111) #以数字代替缺失值 #输出结果(为了节省篇幅我删除了部分输出结果) 0 America/New_York...开始找不到合适的数据,我就在网上随便摘抄了个spss做独立样本t检验的实例数据作为例子大家暂时看着吧找到合适的例子再给大家举~ 数据如下,我将数据保存为本地xlsx格式: group data...输出结果的第一个元素为t值,第二个元素为p-value。...0 NaN Residual 0 8.077936e-27 inf NaN NaN 也许数据选得不对,p-value全是空值23333,待我找个好点儿的数据再做一次多因素方差分析

    1.2K20

    15 个初学者 JavaScript 项目来提高你的前端技能!

    要成为一名优秀的 Web 开发人员,最快的方法就是练习。一个很好的练习方法是尽可能多地构建初学者项目。那是因为每个项目都会提出一个独特的问题和解决方案,因此您解决的项目越多,您获得的知识就越多。...对于这个项目,有必要使用 setTimeout 来确保我们的时间得到正确更新。 5.计算器 计算器。没有它,任何 JavaScript 初学者项目列表都是不完整的,我们在这里也不例外。...了解负责删除 div 中所有元素的函数是如何编写的很有用。在本例中,此函数删除了我们杂货清单中的所有项目。 7. 小费计算器 使用此小费计算器,无需再围着桌子看谁在处理小费。...GitHub Pages 托管) 在线源码:https://iamcodefoxx.github.io/TipCalculator/ 使用 JavaScript DOM操作 功能 要点和想法开发确定每个人给小费金额的函数相当容易...对于这个项目,我们创建变量来保存关于时间的不同信息,例如时间开始的时间、时间停止的时间以及时间停止的时间。如果没有这些变量和我们用它们执行的计算,我们的数字时钟将无法正确显示经过的时间。

    2.5K20

    python数据分析——数据分类汇总与统计

    最后,所有这些函数的执行结果会被合并(combine)到最终的结果对象中。结果对象的形式一般取决于数据上所执行的操作。下图大致说明了一个简单的分组聚合过程。...: size计数时包含NaN值,而count不包含NaN值。...使用read_csv导入数据之后,我们添加了一个小费百分比的列tip_pct: 如果希望对不同的列使用不同的聚合函数,或一次应用多个函数,将通过下面的例来进行展示。...为True时,行/列小计和总计的名称; 【例17】对于DataFrame格式的某公司销售数据workdata.csv,存储在本地的数据的形式如下,请利用Python的数据透视表分析计算每个地区的销售总额和利润总额...首先给出数据集: 对不同国家的用手习惯进行统计汇总 【例20】采用小费数据集,对time和day列同时进行统计汇总。

    3.8K10

    python数据分析——数据分类汇总与统计

    : size计数时包含NaN值,而count不包含NaN值。...使用read_csv导入数据之后,我们添加了一个小费百分比的列tip_pct: 如果希望对不同的列使用不同的聚合函数,或一次应用多个函数,将通过下面的例来进行展示。...: 性别 女 男 姓名 李四 NaN 78 张三 NaN 80 赵六 NaN 75 钱七 90 NaN 王五 85 NaN 在运行pivot()函数后,我们可以看到结果是一个新的...示例 【例17】对于DataFrame格式的某公司销售数据workdata.csv,存储在本地的数据的形式如下,请利用Python的数据透视表分析计算每个地区的销售总额和利润总额。...首先给出数据集: 对不同国家的用手习惯进行统计汇总 示例二 【例20】采用小费数据集,对time和day列同时进行统计汇总。

    3.9K10

    《利用Python进行数据分析·第2版》第10章 数据聚合与分组运算10.1 GroupBy机制10.2 数据聚合10.3 apply:一般性的“拆分-应用-合并”10.4 透视表和交叉表10.5 总

    最后,所有这些函数的执行结果会被合并(combine)到最终的结果对象中。结果对象的形式一般取决于数据上所执行的操作。图10-1大致说明了一个简单的分组聚合过程。 ?...之所以结果中索引的名称为key1,是因为原始DataFrame的列df['key1']就叫这个名字。...笔记:自定义聚合函数要比表10-1中那些经过优化的函数慢得多。这是因为在构造中间分组数据块时存在非常大的开销(函数调用、数据重排等)。 面向列的多函数应用 回到前面小费的例子。...reset_index也能得到这种形式的结果。...图10-2 分组聚合示例 回到之前那个小费数据集,假设你想要根据分组选出最高的5个tip_pct值。

    5.5K90

    pandas系列7-透视表和交叉表

    根据一个或者多个键对数据进行聚合 根据行和列上的分组键将数据分配到各个矩形区域中 一文看懂pandas的透视表 Pivot_table 特点 灵活性高,可以随意定制你的分析计算要求 脉络清晰易于理解数据...to use for aggregation, defaulting to numpy.mean,要应用的聚合函数,默认函数是均值 三个非常用参数 fill_value : 有时候聚合结果里出现了NaN...关于pivot_table函数结果的说明: df是需要进行透视表的数据框 values是生成的透视表中的数据 index是透视表的层次化索引,多个属性使用列表的形式 columns是生成透视表的列属性...# 关于小费的栗子 df = pd.read_csv(r"D:\Python\datalearning\Python for data analysis\pydata-book-2nd-edition\...examples\tips.csv") df.head() # 目的:展示每天各种聚会规模的数据点的百分比 # 交叉表crosstab 可以按照指定的行和列统计分组频数 party_counts =

    1.7K11
    领券