SQLite - 其他




字串處理


SUBSTR('2023-06-04', 1, 4) // 取第 1 個字到第 4 個字1開始算)
REPLACE('string', 'str', 'tostr') // 字串取代
INSTR('2023-06-04', '-') // 回傳 5(從1開始算)
LENGTH('2023-06-04') // 回傳字串長度



判斷式


IFNULL(a, b) // 顯示 a 的值, 如果 a null 就顯示 b
CASE `欄位` WHEN [特定值一] THEN [返回值一] WHEN [特定值二] THEN [返回值二] ELSE [返回值三] END
CASE WHEN [條件一] THEN [結果一] WHEN [條件二] THEN [結果二] ELSE [結果三] END



 取得最後新增的SN


SELECT last_insert_rowid();
sql->lastRowid



清除自動增加sn數值的方法


DELETE FROM sqlite_sequence WHERE name = 'table_name';
UPDATE sqlite_sequence SET seq = 0 WHERE name = 'table_name';



儲存內容跳脫字元


#define MYSQL_ESCAPE_TOKEN "'\0\b\032"
char *program = my_sqlescape(log->program, strlen(log->program));
DO_FREE(program);













沒有留言:

張貼留言