• SQLite函数大全


    abs(X) 返回参数X的绝对值

    coalesce(X,Y,……) 返回第一个非空参数的副本。若所有的参数均为NULL,返回NULL。至少2个参数。

    ifnull(X,Y) 返回第一个非空参数的副本。若两个参数均为NULL,返回NULL。

    last_insert_rowid() 返回当前数据库连接最后插入行的RowID。

    length(X) 返回X的长度,以字符计。 

    lower(X) 返回X字符串的所有字符小写化版本。

    max(X,Y) 返回最大值。

    nullif(X,Y) 当两参数不同时返回X,否则返回NULL。

    quote(X) 返回参数的适于插入其他SQL语句中的值。字符串会被添加单引号。

    random(*) 返回介于-231和231之间的随机整数。

    round(X)或round(X,Y) 将X四舍五入,保留小数点后Y位。若忽略Y参数,则默认其为0。 

    sqlite_version(*) 返回所运行的SQLite库的版本号字符串。

    substr(X,Y,Z) 返回输入字符串X中以第Y个字符开始,Z个字符长的子串。X最左端的字符序号为1。若Y为负,则从右至左数起。

    typeof(X) 返回表达式X的类型。

    upper(X) 返回X字符串的所有字符大写化版本。

    在单参数聚集函数中,参数可以加前缀distinct。这时重复参数会被过滤掉,然后才传入到函数中。例如,函数count(distinct X)返回字段X的不重复非空值的个数,而不是字段X的全部非空值。

    avg(X) 返回一组中非空的X的平均值。非数字值作0处理。结果总是一个浮点数。

    count(X) 返回一组中X是非空值的次数。

    count(*) 返回该组中的行数。

    change_count() 返回受上一语句影响的行数。 

    max(X) 返回一组中的最大值。

    min(X) 返回一组中的最小值。

    sum(X)和total(X) 返回一组中所有非空值的数字和。若没有非空行,sum()返回null而total()返回0.0。total()的返回值为浮点数,sum()可以为整数。

    date(日期时间字符串,修正符,修正符,……) 返回一个以YYYY-MM-DD为格式的日期。

    time(日期时间字符串,修正符,修正符,……) 返回一个以HH:MM:SS 为格式的日期时间。

    datetime(日期时间字符串,修正符,修正符,……) 返回一个以YYYY-MM-DD HH:MM:SS 为格式的日期时间。  julianday(日期时间字符串,修正符,修正符,……) 返回一个天数,从格林威治时间公元前4714年11月24号开始算起。

    strftime(日期时间格式,日期时间字符串,修正符,修正符,……) 返回一个经过格式化的日期时间,它可以用以下的符号对日期和时间进行格式化:

    %d一月中的第几天,01-31

    %f小数形式的秒,SS.SSSS

    %H小时,00-24

    %j一年中的第几天,01-366

    %JJulian Day Numbers

    %m月份,01-12

    %M分钟,00-59

    %s从1970-01-01日开始计算的秒数

    %S秒,00-59

    %w星期,0-6

    %W一年中的第几周,00-53

    %Y年份,0000-9999

    %%%,百分号

     其他四个函数都可以用strftime()函数来表示:

    date(……)strftime('%Y-%m-%d',……) 

    time(……)strftime('%H:%M:%S',……)

    datetime(……)strftime('%Y-%m-%d %H:%M:%S',……)

    julianday(……)strftime('%J',……)

    日期时间字符串,可以用以下几种格式:

    YYYY-MM-DD

    YYYY-MM-DD HH:MM

    YYYY-MM-DD HH:MM:SS

    YYYY-MM-DD HH:MM:SS.SSS

    YYYY-MM-DDTHH:MM(T是一个分割日期和时间的字符)

    YYYY-MM-DDTHH:MM:SS

    YYYY-MM-DDTHH:MM:SS.SSS

    HH:MM

    HH:MM:SS

    HH:MM:SS.SSS

    now(返回一个当前的日期和时间,使用格林威治时间UTC)

    DDDD.DDDD

    日期和时间可以使用下面的修正符来更改日期或时间:

    (1)增加指定数值的日期和时间

    NNN days

    NNN hours

    NNN minutes

    NNN.NNNN seconds

    NNN months

    NNN years

    (2)返回当前日期的开始

    start of month

    start of year

    start of week

    start of day

    (3)返回下一个星期是N的日期和时间

     weekday N

    (4)返回从1970-01-01开始算起的秒数

    unixepoch

    (5)返回本地时间

    localtime

    例子:

    计算机当前时间:date('now')

    计算机当前月份的最后一天:date('now','start of month','+1 month','-1 day')

    计算UNIX时间戳1092941466表示的日期和时间:datetime('1092941466','unixepoch')

    计算UNIX时间戳1092941466表示的本地日期和时间:datetime('1092941466','unixepoch','localtime')

    计算机当前UNIX时间戳:strftime('%s','now')

    两个日期之间相差多少天:julianday('now')-julianday('1981-12-23')

    两个日期时间之间相差多少秒:julianday('now')*86400-juianday('2004-01-01 02:34:45')*86400

    计算今年十月份第一人星期二的日期:date('now','start of year','+9 months','weekday 2') 

  • 相关阅读:
    hdu 3268 09 宁波 现场 I
    hdu 3697 10 福州 现场 H
    CodeForces Round #521 (Div.3) D. Cutting Out
    #Leetcode# 226. Invert Binary Tree
    zufe 蓝桥选拔
    #Leetcode# 100. Same Tree
    #Leetcode# 6. ZigZag Conversion
    PAT 1084 外观数列
    #Leetcode# 38. Count and Say
    #Leetcode# 22. Generate Parentheses
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/2791064.html
Copyright © 2020-2023  润新知