SQLite的教程(四):内置函数

SQLite的教程(四):内置函数
1。聚集函数

支持SQLite的聚集功能也在许多其他关系数据库的支持。因此,我们只作简要描述每个聚合函数而不是给更多的例子,也有必要进一步说明所有聚合函数,不同的关键词可以作为函数的参数场前属性,使所有重复的字段值被忽略,在计算过程中,如计数(不同的X)。
功能
解释
平均值(x)
这个函数返回在同一组参数字段的平均值为字符串和BLOB类型无法转换为数值字段的值,这样的as'hello,SQLite会视它为0,AVG函数结果总是浮点,唯一例外的是,所有的字段值为空,这样的函数的结果也为空。
计数(x | *)
计数(x)函数返回在同一组中,x字段的值不等于NULL行数。
(X,Y group_concat {,})
这个函数返回一个字符串,将所有非零的x值。这个函数的参数将作为每个x值之间的分隔符,如果参数被忽略时,叫叫,默认的分隔符又相互串接的顺序是不确定的。 U3000 U3000
马克斯(X)
此函数返回同一组中x字段的最大值,如果字段的所有值都为NULL,则该函数也返回null。
min(x)
此函数返回同一组中x字段的最小值,如果字段的所有值都为NULL,则该函数也返回null。
求和(x)
这个函数返回在同一组的x字段值的总和,如果字段的值都是null,函数也返回为空。如果X字段的所有值都是整数或零,函数返回整型值,否则浮点型值点返回。最后一点是,如果所有的数据值进行积分,整数溢出异常将被抛出一旦超过上限。
总数(x)
这个函数不属于标准的SQL语句,它的功能是基本的和相同的,但结果是比之更为合理。例如,当所有的字段的值是null,不像和,函数返回0。二是函数始终返回浮点型值。这函数不会抛出异常。
两。核心功能:

以下功能由sqlite默认提供的内置函数,其声明和说明如下:
功能
解释
abs(x)
这个函数返回数字参数x的绝对值。如果x是null,它返回null。如果x是不能转换为数值的字符串,则返回0。如果x值超过整数的上限,则抛出整数溢出的异常。
改变()
这个函数返回的是最近执行的插入、更新受影响的数据行数,和删除报表。我们也可以通过执行C / C++函数sqlite3_changes得到相同的结果()。
合并(x,y,…)
返回函数参数中的第一个非空参数,如果参数为null,则参数返回null。这个函数至少有2个参数。
Ifnull(x,y)
这个函数相当于两个参数的合并()函数,也就是说,它返回第一个不为null的函数参数,如果两个函数为null,则返回null。
长度(x)
如果参数x是一个字符串,它返回字符的个数。如果它是一个值,它返回参数的字符串表示的长度。如果为空,则返回null。
下(x)
返回到函数参数x的小写,默认情况下,函数只能应用于ASCII字符。
Ltrim(X Y {,})
如果没有可选参数y,则该函数将删除参数x左边的所有空格字符。如果有参数y,则删除x左侧y中出现的任何字符。最后,返回后的字符串返回。
马克斯(x,y,…)
返回函数参数的最大值,如果任何参数为null,则返回null。
min(x,y,…)
函数参数中的最小值被返回,如果任何参数为null,则返回null。
Nullif(x,y)
如果函数的参数是相同的,返回null,否则第一个参数返回。 U3000 U3000
随机()
返回整数的伪随机数。
替换(x,y,z)
将字符串类型函数参数x中的所有字符串y替换为字符串z,然后返回替换字符串,而源字符串x保持不变。
圆(x,{,})
返回值参数x是四到五的Y的价值尺度,如果参数不存在,默认的参数值是0。 U3000 U3000
Rtrim(X Y {,})
如果没有可选参数y,此函数将删除参数x右侧的所有空格字符。如果有参数y,则x右侧y中出现的字符将被删除。最后,返回后的字符串返回。
substr(X,Y Z {,})
返回函数的参数x的子串,从Y点(x的第一个字符是1),并截获了Z长度的字符。如果Z参数被忽略,那么所有的字符Y字符后采取的。如果Z的值是负的,然后从Y点,ABS(Z)字符被截断的左边。如果Y值是负的,伯爵开始在X字符串结束的ABS的位置(Y),U3000
total_changes()
这个函数返回已被插入、更新和删除受影响的行数,声明由于连接被打开了。我们也可以通过C或C++接口函数sqlite3_total_changes得到相同的结果()。
修剪(x,{,})
如果没有可选参数y,则该函数将删除参数x两侧的所有空格字符。如果有参数y,则在x双方的y中出现的字符被删除。最后,返回后的字符串返回。
上(x)
返回到函数参数x的上部,默认情况下,函数只能应用于ASCII字符。
Typeof(X)
返回函数参数数据类型的字符串表示形式,如整数、文本、真、空
三,日期和时间函数:

SQLite的主要支持以下四个功能,日期和时间有关,如:

1)。日期(TimeString、改性剂、改性剂、…)

2)。时间(TimeString、改性剂、改性剂、…)

3)。datetime(TimeString、改性剂、改性剂、…)

4)。Strftime(格式、改性剂、改性剂、TimeString,…)

以上四个函数接受一个时间字符串作为参数,其次是0个或更多的修饰语。strftime()函数还接受一个字符串作为它的第一个参数,函数同名的函数()和C运行时库是完全相同的。至于其他的三种功能,日期的函数的默认格式为YYYY-MM-DD。时间函数的默认格式是:

1的格式信息。函数的作用
格式
解释
%d
月日:00
% F
秒的小数部分:SS.SSS
% h
时间:00-24
% J
年月日:001-366
% J
朱利安日数
% m
月:01-12
% m
分钟:00-59
%s
秒自1970-01-01
%s
:00-59秒
% W
星期日= = 0周0-6天
% W
周:00-53年
% y
年:0000-9999
%
%
需要补充说,剩下的三次函数表示的函数,如:

复制代码代码如下所示:

日期(…)的strftime(% y %M - %d,…)

时间(…)的strftime(%:%:%s,…)

datetime(…)的strftime(% y %M - %:% H M:%s,…)
2的格式。时间字符串:

请看下列清单:

1)为YYYY-MM-DD。

为HH:毫米,2)。

为HH:MM:SS,3)。

为HH:MM:ss.sss,4)。

5)HH:mm。

6)HH:毫米:SS。

7)HH:MM:SS.SSS。

8)。现在

5)7)只包含一部分时间,SQLite假定日期2000-01-01.8)表示当前时间。
三.改性剂:

请看下列清单:

NNN天,1)。

NNN小时,2)。

nnn分钟,3)。

nnn.nnnn秒,4)。

NNN个月,5)。

NNN年,6)。

7)。开始一个月

8)。开始的一年

9)。开始的一天

10)平日n

1)6)将简单的加减法指定的日期或时间值,如果NNN的值是负的,然后减去,否则添加。7)9)设定的时间字符串的当前月份,年初,指定的日期部分或10)提前一天。日一周,这是上星期日的0。注:改性剂的顺序是非常重要的,和SQLite将执行改为从左到右。
4。例子:

复制代码代码如下所示:

-返回当前日期。

SQLite >选择日期();

2012-01-15

-返回本月的最后一天。

SQLite >选择日期(现在,起始月,1月,1天);

2012-01-31

-返回秒数,流经1970-01-01 00:00:00到当前时间。

>选择SQLite strftime(%s,);

十三亿二千六百六十四万一千一百六十六

-返回本年度十月的第一个星期二。

SQLite >选择日期(现在,开始每年的',' + 9个月,'weekday 2);

2012-10-02
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部