2011-06-09 35 views
3

SQLite3用戶函數可以返回什麼值?SQLite和用戶函數

一個相關的例子是爲regexp添加一個函數 - 它會返回什麼值來表示匹配或不匹配?或者它必須是無效的?

回答

2

結果從SQLite3的函數(在C interface級)使用sqlite3_result_int函數(和它的兄弟姐妹,如果返回的其它類型)的報道。

void sqlite3_result_int(sqlite3_context*, int); 

通過對第二個參數使用0來報告錯誤,通過使用1(或其他非零)來報告爲true。

+0

感謝您的支持。更多的問題 - 1.有沒有其他的返回值?例如。 2? -1?另外,2. SQLite是否爲這裏返回0或1保留一個常量名? [例如。如果它是一個錯誤返回,0將是SQLITE_OK。] – SK9 2011-06-09 09:09:34

+0

@ SK9:我不認爲那裏有什麼特別的; SQLite只是使用布爾的通常的C解釋。您也可以返回任何整數值,例如,RE匹配的字符串中的位數數量可能是合理的返回值(如果在實踐中計算起來有點貴)。 – 2011-06-09 09:21:34