Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

DateTime z .NET do smalldatetime w SQL - jak wykonywać zapytania?

Wypróbowałem to, używając SQL Server 2008 R2 Express.

Oto przykładowa procedura składowana, którą napisałem:

CREATE PROCEDURE [dbo].[ShowGivenSmallDateTimeValue] 
    @givenSmallDateTime smalldatetime
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    -- Simply return the given small date time value back to sender.
    SELECT @givenSmallDateTime
END

A oto kod C# do wykonania procedury:

var connectionBuilder = new SqlConnectionStringBuilder();
connectionBuilder.DataSource = "localhost\\sqlexpress";
connectionBuilder.IntegratedSecurity = true;

var now = DateTime.UtcNow;

using (var connection = new SqlConnection(connectionBuilder.ConnectionString))
using (var command = new SqlCommand())
{
    command.Connection = connection;
    command.CommandType = CommandType.StoredProcedure;
    command.CommandText = "ShowGivenSmallDateTimeValue";
    command.Parameters.Add(new SqlParameter("@givenSmallDateTime", SqlDbType.SmallDateTime) { Value = now });

    connection.Open();
    var result = (DateTime)command.ExecuteScalar();
    var difference = result - now;

    Console.WriteLine("Due to the smalldatetime roundings we have a difference of " + difference + ".");
}

I to po prostu działa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak przekonwertować String na Hex i odwrotnie?

  2. Zapytanie SQL upływa limitu czasu, gdy jest uruchamiane z C#, szybko w SQL Server Management Studio

  3. Konfigurowanie lokalnej bazy danych SQL Server

  4. Unikanie wstrzykiwania SQL bez parametrów

  5. UNION wyniki wielu procedur składowanych