sql >> Databasteknik >  >> RDS >> Oracle

Infoga datum i Oracle

För det första verkar du vara förvirrad över skillnaden mellan en DateTime objekt och den formaterade String representation av den DateTime objekt. Now , eller ännu bättre, DateTime.Now är redan en DateTime objekt, så det är meningslöst att formatera det som en sträng och sedan analysera strängen för att få tillbaka den till en DateTime värde igen. Så du kan helt enkelt göra det här för att åstadkomma samma sak:

Dim timestamp As Date = Date.Now

Observera att i VB.NET, Date är ett nyckelord som är en förkortning av DateTime , precis som Integer är "kort" för Int32 .

För det andra bör du inte lägga till DateTime värden direkt i SQL-kommandosträngen. Du bör använda en parameteriserad fråga. När du lägger till DateTime värde till SQL-strängen måste du se till att den är korrekt formaterad (genom att anropa timestamp.ToString(...) ). Tyvärr beror dock vilket format som är rätt helt på serverns kulturinställningar. Så det är mycket bättre att använda en DB-parameter, ställ in parametervärdet lika med den faktiska DateTime objekt och låt sedan DB-leverantören göra konverteringen åt dig.



  1. Hur SHOW COLLATION fungerar i MariaDB

  2. MySQL lokala variabler

  3. FEL:arraystorleken överskrider det maximalt tillåtna (1073741823)

  4. SQL Fiddle-utgångsfel