1
sqlite datetime 명령을 사용하여 날짜 및 시간 문자열을 가져오고 설정하고 조작합니다. 먼저 const char *에서 sql 명령을 구성한 다음 sqlite3_exec를 사용하여 명령을 실행하면서 콜백 함수를 사용하여 (select from) 명령에서 결과를 가져옵니다.sqlite 날짜 및 시간 문자열에서 요일을 구하는 방법은 무엇입니까?
orderDataBaseRc = sqlite3_exec(orderDataBase, pSQL[i], callback, 0, &zErrMsg);
이제 내 날짜와 시간 문자열에서 요일 (mo-su)과 월 (jan-dec)을 알고 싶습니다.
어떻게하면 sqlite에서 할 수 있습니까? 설명서는 내가 설명서에서 훨씬 더 현명해질 수 있고 예제를 찾기가 어렵다고 말합니다.
은 제가 사용하고있는 SQL 명령의 몇 가지 예를 들어 보겠습니다 :"create table orderTable (OrderId integer primary key asc, CustomerId integer, OrderValue, OrderDescription, OrderDateTime DATE, OrderDueDateTime DATE)"
"create trigger insert_orderTable_OrderDate after insert on orderTable begin update orderTable set OrderDateTime = datetime('now') where rowid = new.rowid; end;"
"update orderTable set OrderDueDateTime = datetime('" << iOrderDateTime << "', '+1 day') where OrderId = " << orderId
을 그래서 지금 내 날짜 시간 문자열의 요일과 달을 알고 할 수 있어야합니다.
나는 다음과 같은 성명을 건설하고 sqlite3_exec로 떨어져 발사 한 아래의 제안에 따르면
이"select strftime('%A', OrderDateTime) FROM orderTable where OrderId = " << orderId;
그럼 내 콜백 함수에 다음 코드 (azColName [내가]의 사본 돌아올 것으로 보인다 SQL 문을 :
char* columnName;
for(int i=0; i<argc; i++)
{
columnName = azColName[i];
string dayOfWeek;
if(strcmp(columnName, "strftime('%A', OrderDateTime)")==0)
{
dayOfWeek = string(argv[i]);
}
...
}
는하지만
dayOfWeek = string(argv[i]);
sql 명령에 strftime()을 캡슐화해야하며 어떻게 생겼습니까? –
''strftime ('% w', OrderDateTime)을 orderTable에서 선택하십시오. " –
그 일을했지만 콜백 함수에서 프로그램이 중단됩니다. –