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') 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM