android sqlite3 時間比較文法介紹

來源:互聯網
上載者:User

標籤:

sqlite3支援的資料類型:

NULL、INTEGER、REAL、TEXT、BLOB
但是,sqlite3也支援如下的資料類型
smallint           16位整數
integer             32位整數
decimal(p,s)   p是精確值,s是小數位元
float                  32位實數
double             64位實數
char(n)             n長度字串,不能超過254
varchar(n)        長度不固定最大字串長度為n,n不超過4000
graphic(n)        和 char(n) 一樣,但是單位是兩個字元double-bytes,n不超過127(中文字)
vargraphic(n)  可變長度且最大長度為n

date                  包含了年份、月份、日期
time                  包含了小時、分鐘、秒
timestamp       包含了年、月、日、時、分、秒、千分之一秒

sqlite3支援的函數

【1】日期函數

datetime() : 產生日期和時間
date(): 產生日期
time():產生時間
strftime():對以上3個函數產生的日期和時間進行格式化

用法執行個體:
1、SELECT date(‘2011-9-9‘,‘+1 day‘,‘+1 year‘); 結果是 2010-09-10
2、SELECT datetime(‘now‘); 當前日期和時間
3、SELECT datetime(‘now‘, ‘start of month‘); 本月的第一天零點,也可以設定年和日的第一天
4、SELECT datetime(‘now‘,‘+1 hour‘,‘-12 minute‘); 目前時間加48分鐘

strftime()函數可以將YYYY-MM-DD HH:MM:SS格式的日期文字轉換為其它形式的字串

%d:天數,01-31
%f :小數形式的秒,SS.SSS
%H:小時
%j  :某一天是該年的第幾天,001-366
%m:月份,00-12
%M:分鐘,00-59
%s:從1970到現在的秒數
%S:秒,00-59
%w:星期,0-6,0是星期天
%W:某天是該年的第幾周,01-53
%Y:年,YYYY
%% 百分比符號

應用舉例:
SELECT strftime(‘%Y.%m.%d %H:%M:%S‘,‘now‘,‘localtime‘);


二、【算術函數】

abs(X):返回絕對值
max(X,Y[,...]):返回最大值
min(X,Y,[,...]):返回最小值
random(*):返回隨機數
round(X[,Y]): 四捨五入

三、【字串處理函數】

length(x) :返回字串字元個數
lower(x) :大寫轉小寫
upper(x):小寫轉大寫
substr(x,y,Z):截取子串
like(A,B):確定給定的字串與指定的模式是否匹配

四、【條件判斷函數、集合函數、其它函數】

typeof(x):返回資料的類型
last_insert_rowid():返回最後插入的資料的ID

********************************************************************************************************************

sqlite3提供了C函數介面來操作sqlite3資料庫,其中有個關鍵資料結構 sqlite3 * 類型

1、開啟資料庫
int sqlite3_open(檔案名稱,sqlite3 **);  - 檔案名稱若不存在,則會自動建立
返回SQLITE_OK表示操作正常,這些宏的定義在sqlite3.h檔案中定義,看原始碼會懂的更多

2、關閉資料庫
int sqlite3_close(sqlite3 *);

3、SQL語句操作
int sqlite3_exec(sqlite3 *,const char *sql, sqlite3_callback,void *,char **errmsg);
這就是執行一條sql語句的函數
參數1:open函數得到的指標
參數2:一條sql語句,以‘\0‘結尾
參數3:sqlite3_callback是回調,當這條語句執行後,sqlite3會調用你提供的這個函數,回呼函數要查閱資料
參數4:void *是自己提供的指標,可以傳遞任何指標到這裡,這個參數最終會傳到回呼函數裡面,如果不需要
傳到回呼函數裡面,則可以設定為NULL
參數5:錯誤資訊,當執行失敗時,可以查閱這個指標,可以利用printf("%s\n",errmsg)得到一串字串資訊,
該資訊表明出錯的地方

通常,sqlite3_callback和void *都設定為NULL,表示不需要回調,比如做insert、delete操作,就沒有必要使用回調,而當使用select時,就要使用回調,因為sqlite3把資料查出來,得通過回調來說明查出什麼資料

android sqlite3 時間比較文法介紹

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.