Hej! Precis som Access så använder datum den lokala inställningen för databasen. Hmmm... testade: om du skriver ut datumsträngen, hur ser den ut? I det här fallt är det klockslag jag bråkar med och det ser ut enlig följande: 10:31:19 (hh:mm:ss) http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_qd_14_3unn.asp Jag testade även {t} som länken berättade. Är det BARA klockslag? SQL vill ha datum OCH tid (därav namnet datetime) ahaa... kan man inte köra på endast tid alltså? Jo, om du lagrar det som en text... Det finns ingen data typ som tar enbart tid, däremot finns det en datatyp som tar enbart datum... <däremot finns det en datatyp som tar enbart datum... :-) Jag gjorde om den till text och då funkade det som ni sa. Tack så mycket! :)Just konverterat från Access till MS SQL... En kodfråga.
Har nyligen konverterat från Access till MS SQL. Först och främst så funkade inte True & False så det bytte jag till 1 & 0. Inga problem. Sen har jag läst att i SQL ska man använda '' runt tid istället för ## som jag använt i Access. Men det funkar inte för mig.
SQL satsen ser ut som följer:
<code>
SELECT ebid FROM tabell WHERE bid='"&strBid&"' AND tid='"&strTime&"' AND tillepost='"&strMepost&"'", _
</code>
Och till Access hade jag:
<code>
SELECT ebid FROM tabell WHERE bid='"&strBid&"' AND tid=#"&strTime&"# AND tillepost='"&strMepost&"'", _
</code>
Jag får inget felmeddelande men den hittar inte den post jag söker.
Tacksam för hilfe!
Mvh AndreasSv: Just konverterat från Access till MS SQL... En kodfråga.
I access använder man ## för att specificera att datumformatet följer amerikansk standard.
I MS SQL använder man { d } för att specificera ISO format.
WHERE field = { d '2005-04-27' }Sv:Just konverterat från Access till MS SQL... En kodfråga.
<code>
SELECT ebid FROM tabell WHERE bid='"&strBid&"' AND tid={d'"&strTime&"'} AND tillepost='"&strMepost&"'"
</code>
Får då:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting datetime from character string.
//AndreasSv: Just konverterat från Access till MS SQL... En kodfråga.
SQL gillar datum (i Sverige och USA) med formatet yyyy-mm-dd t.ex 2005-10-31
Sedan kommer klockslag som hh:mm:ss.ppp (15:22:30.075)
Detta kan slås ihop med varandra - ett mellanslag mellan bara...
'2005-04-29 08:32:10.000'
/mickeSv:Just konverterat från Access till MS SQL... En kodfråga.
Sv: Just konverterat från Access till MS SQL... En kodfråga.
Sv:Just konverterat från Access till MS SQL... En kodfråga.
<code>
tid={t'"&strTime&"'}
</code>
Då är vi tillbaks på ruta 1. Den hittar inte posten men jag får inget felmeddelande :(
//AndreasSv: Just konverterat från Access till MS SQL... En kodfråga.
Lägg till 1900-01-01 före, så skall det säkert funka...
/mickeSv:Just konverterat från Access till MS SQL... En kodfråga.
Sv: Just konverterat från Access till MS SQL... En kodfråga.
// JohanSv:Just konverterat från Access till MS SQL... En kodfråga.
Fast inte i SQL Server :) den heter datetime och tar datum OCH tid - alltid!
/mickeSv: Just konverterat från Access till MS SQL... En kodfråga.
Du har rätt, jag tänkte på smalldatetime, men den tar ju också tid... Det finns för många databasmotorer att hålla reda på för att man skall kunna detaljerna i huvudet...(mutter, mutter)... :-)
// JohanSv:Just konverterat från Access till MS SQL... En kodfråga.
//Andreas