1. abs(X)

    abs(X) 會傳回數字的絕對值。如果 X=NULL 則回傳 NULL,如果 X 是字串或 BLOB 則傳回 0.0。假如 X=-9223372036854775807 則會產生 integer overflow 例外,因為沒有相等的正 64bit 二進位補數(??? 翻得很奇怪)。(原文:If X is the integer -9223372036854775807 then abs(X) throws an integer overflow error since there is no equivalent positive 64-bit two complement value.)



  2. changes()

    changes() 計算所有被執行的次數,包含 INSERT/DELETE/UPDATE。



  3. coalesce(X,Y,...)

    coalesce() 函數會傳回第一個非 NULL 的參數,如果所有參數皆為 NULL 則傳回 NULL。coalesce 最少要輸入二個參數。



  4. glob(X,Y)

    glob() 函數相當於 SQL 指令 "Y GLOB X"。



  5. ifnull(X,Y)

    ifnull(X,Y) 等於 coalesce(X,Y),會傳回第一個非 NULL 的參數, 如果二個參數皆為 NULL 則傳回 NULL。



  6. hex(X)

    hex() 函數把參數值當成一個 BLOB 看待,然後回傳一個大寫的 16 進位字串。



  7. last_insert_rowid()

    last_insert_rowid() 函數會回傳最後一次新增記錄的 ROWID。



  8. length(X)

    傳回字串長度,BLOB 的總 bytes 數,X=NULL 則傳回 NULL,數字則先轉換成字串再傳回字串長度。



  9. like(X,Y), like(X,Y,Z)

    like() 函數相當於 SQL 指令 "Y LIKE X [ESCAPE Z]。



  10. load_extension(X), load_extension(X,Y)

    看嘸。



  11. lower(X)

    傳回小寫字串。



  12. ltrim(X), ltrim(X,Y)

    去除字串左邊所有的字元 'Y',位置從 X 開始。如果沒有輸入 Y,預設值為空白字元。



  13. max(X,Y,...)

    回傳參數中的最大值。參數必須有二個以上,如果只有一個參數,則變成 aggregate function。



  14. min(X,Y,...)

    回傳參數中的最小值。參數必須有二個以上,如果只有一個參數,則變成 aggregate function。



  15. nullif(X,Y)

    如果二個參數相同則傳回 NULL,二者不同則傳回 X。



  16. quote(X)

    quote() 函數是用來包裝輸入參數,方便插入 SQL 字串里,比如 BLOB 會編碼成 16進位字串。



  17. random()

    回傳一個亂數,範圍為 -9223372036854775808 到 +9223372036854775807。



  18. randomblob(N)

    回傳一個二進制的亂數,長度為 N。比如 randomblob(2) 會傳回 0~216(2 bytes) 的值。



  19. replace(X,Y,Z)

    把 X 中包含 Y 的字串替換成 Z。如果 Y 為空字串,則 X 不會被替換。



  20. round(X), round(X,Y)

    把浮點數 X 取小數點位數到 Y,並傳回字串,假如 Y 沒寫,則 X 會計算成整數。



  21. rtrim(X), rtrim(X,Y)

    去除字串右邊所有的字元 'Y',位置從 X 開始。如果沒有輸入 Y,預設值為空白字元。



  22. soundex(X)

    ???



  23. sqlite_compileoption_get(N)

    ???



  24. sqlite_compileoption_used(X)

    ???



  25. sqlite_source_id()

    返回一個字串,表示那一版的原始碼被用來編譯成 SQLite library。



  26. sqlite_version()

    返回一個字串,表示 SQLite 的版本別。



  27. substr(X,Y,Z), substr(X,Y)

    截取 X 字串,從第 Y 個位置,長度為 Z。如果沒有輸入 Z,則截取到字串尾端。假如 Y 為負數,則開始位置則從字串尾端開始算起第 abs(Y) 個。如果 Z 為負數,則 Y 位置之前的字串會被截取,長度為 abs(Z)。



  28. total_changes()

    total)changes 函數會返回記錄被更動過的總次數,包含 INSERT, UPDATE, DELETE。



  29. trim(X), trim(X,Y)

    去除字串左右兩邊所有的字元 'Y',位置從兩端的 X 開始。如果沒有輸入 Y,預設值為空白字元。



  30. typeof(X)

    返回 X 的資料型態,比如 null, integer, real, text, blob。



  31. upper(X)

    傳回大寫字串。



  32. zeroblob(N)

    傳回 N bytes 的二進制的 BLOB,內容皆為 0x00。



台南小新 發表在 痞客邦 PIXNET 留言(0) 人氣()