Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

DateTime от .NET към smalldatetime в SQL - как да правя заявки?

Опитах го с помощта на SQL Server 2008 R2 Express.

Ето примерната съхранена процедура, която написах:

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

И ето C# кода за изпълнение на процедурата:

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 + ".");
}

И просто работи.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Linux - PHP 7.0 и MSSQL (Microsoft SQL)

  2. Грешка 28000:Неуспешно влизане за потребител DOMAIN\\user с pyodbc

  3. Въздействие на разширеното събитие query_post_execution_showplan в SQL Server 2012

  4. Задействане на вмъкване на стари стойности - стойности, които са актуализирани

  5. Sql като RegEx