效率: UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 1、对重复结果的处理:UNION在进行表链接后会筛选掉重复的记录,Union All不会去除重复记录。 2、对排序的处理:Union将会按照字段的顺序进行排序;UNION ALL只是简单的将两个结果合并后就返回。 从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复数据且不需要排序时的话,那么就使用UNION ALL。 简要回答: UNION去重且排序 UNION ALL不去重不排序
NULL 加减乘除 任何数字 结果都是NULL
一、ISNULL()函数 (oracle中为nvl()函数)
ISNULL()函数 使用指定的值替换 NULL。 语法:ISNULL ( check_expression , replacement_value ) 参数:check_expression--将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。 replacement_value--在 check_expression 为 NULL时将返回的表达式。
replacement_value 必须与 check_expresssion 具有相同的类型。 返回类型:返回与 check_expression 相同的类型。 注释:如果 check_expression 不为 NULL,那么返回该表达式的值;否则返回 replacement_value。
二、NULLIF(a,b)函数
NULLIF:需要两个参数,如果两个指定的表达式等价,则返回null 例子:NULLIF(a,b) 说明:如果a和b是相等的,那么返回NULL,如果不相等返回a
三、CONVERT()
CONVERT()函数是把日期转换为新数据类型的通用函数。可以用不同的格式显示日期/时间数据。
CONVERT(data_type(length),data_to_be_converted,style); data_type(length) 规定目标数据类型(带有可选的长度)。data_to_be_converted 含有需要转换的值。style 规定日期/时间的输出格式 Style IDStyle 格式100 或者 0mon dd yyyy hh:miAM (或者 PM)101mm/dd/yy102yy.mm.dd103dd/mm/yy104dd.mm.yy105dd-mm-yy106dd mon yy107Mon dd, yy108hh:mm:ss109 或者 9mon dd yyyy hh:mi:ss:mmmAM(或者 PM)110mm-dd-yy111yy/mm/dd112yymmdd113 或者 13dd mon yyyy hh:mm:ss:mmm(24h)114hh:mi:ss:mmm(24h)120 或者 20yyyy-mm-dd hh:mi:ss(24h)121 或者 21yyyy-mm-dd hh:mi:ss.mmm(24h)126yyyy-mm-ddThh:mm:ss.mmm(没有空格)130dd mon yyyy hh:mi:ss:mmmAM131dd/mm/yy hh:mi:ss:mmmAM