Select Query with dynamic dates
2 ビュー (過去 30 日間)
古いコメントを表示
Hello
I am trying to execute a simple select query from my SQL database( dexplore on Matlab). I input the date in a gui, which takes in the date format with this command :
SDV = sprintf('%04d-%02d-%02d',SYYYY,SMM, SDD)
I get a date like this 2XXX - MM - DD
Then I need to import some data with date > SDV
My query is the following :
conn = database('', '', '', 'Vendor', 'MICROSOFT SQL SERVER', 'Server', 'TW\SQLEXPRESS', 'PortNumber', 1433, 'AuthType', 'Windows');
%Read data from database.
curs = exec(conn, ['SELECT XIV.Date'...
' , XIV.Value'...
' FROM master.dbo.XIV '...
' WHERE XIV.Date >=' SDV ]);
curs = fetch(curs);
The Query dont work because its not accepting the syntax at the end. When I use a fixed date, the syntax it takes is the following :
conn = database('', '', '', 'Vendor', 'MICROSOFT SQL SERVER', 'Server', 'TW\SQLEXPRESS', 'PortNumber', 1433, 'AuthType', 'Windows');
%Read data from database.
curs = exec(conn, ['SELECT VXX.Date'...
' FROM master.dbo.VXX '...
' WHERE VXX.Date > ''2004-05-20''']);
curs = fetch(curs);
close(curs);
This works but the date is not dynamic here.
Do you know how to write the query correctly in order for it to accept the SDV date?
Thank you very much
D
0 件のコメント
採用された回答
the cyclist
2014 年 11 月 11 日
編集済み: the cyclist
2014 年 11 月 11 日
In place of
' WHERE VXX.Date > ''2004-05-20''']);
try
' WHERE VXX.Date > ''',SDV,'''']);
The problem with your original syntax is that it was failing to put in the required enclosing single quotes.
5 件のコメント
the cyclist
2014 年 11 月 11 日
Sorry to be commenting in drips and drabs, but another trick I do is to assign the query to a string variable:
queryText = 'SELECT * FROM TABLE'
Then after I build the query (possibly replacing with a variable, as you have done), then I'll print queryText to the MATLAB screen, just to make sure it is the exact string that needs to be sent in SQL.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Database Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!