これはSELECTクエリのコードです。 SELECT * FROM TableName WHERE (DateField = Date)
Matlab:データベース。 SQLの書き直し
function out = SQL_Simple(DBName, TableName, Date, DateField, SortField, Limits)
logintimeout(60);
conurl = ['jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=' DBName];
conn = database('','','','sun.jdbc.odbc.JdbcOdbcDriver', conurl);
Limits = Limits + 1;
sql = ['SELECT * FROM ' TableName ];
sql = [sql ' WHERE (' DateField ' = ' Date ')'];
interest = fetch(exec(conn, sql));
%sql = [sql ' ORDER BY ' SortField ' DESC' ];
%sql = [sql ' LIMIT ' Limits];
close(conn);
out = interest.Data;
end
となります。
このクエリで何が問題になっていますか?
DateField
は、タイプadDate
である。 Date
の形式はdd.mm.yyyy
です。
p.s:
これは、DB内のテーブルです:
DBTable.Name = "MyTable"
DBTable.Columns.Append "StrField", adVarWChar, 160
DBTable.Columns.Append "DoubleField", adDouble, 40
DBTable.Columns.Append "IntField", adInteger
DBTable.Columns.Append "CurField", adCurrency
DBTable.Columns.Append "Today", adDate
DateField='Today'
。私はこのような何かを書こうと
(matlab
コードで):あなたが投稿する場合には役立ちます
sql = ['SELECT * FROM ' TableName ];
sql = [sql ' WHERE (' DateField ' = ''' Date ''');' ];
それはあまりにも動作しません:((ここではDate = '2010-12-31 00:00:00.0'
、DateFieldに= 'Today'
)
*とはどういう意味ですか?* – zimdanen
それは0を返すので、大きな行ではないので – gaussblurinc
追加質問:それはSQLのMySQLの方言ではなく、mssqlを使用しますか? – gaussblurinc