sql >> Databáze >  >> RDS >> Sqlserver

Výstup z SQL Server a C# se liší

Nejlepším způsobem je naformátovat vstup ve formátu dd/MMM /yyyy formát. To lépe pomáhá SqlServeru identifikovat měsíc a den. Důrazně doporučuji používat formát MMM, kdykoli komunikujete se SqlServerem.

DateTime fromDate, toDate;
fromDate = DateTime.Parse(dtpFrom.Text);
toDate = DateTime.Parse(dtpTo.Text);

SqlCommand objCmd = new SqlCommand("SELECT CONVERT(char(80), i.InvDate,3) AS InvDate, 
i.InvoiceNo,
i.EmployerCode,
i.TaxAmount + i.SubTotal AS Amount,
'' AS Payment,
pd.GivenName 
FROM    dbo.Invoice i 
INNER JOIN dbo.PatientDetails pd ON (pd.MedicalRecordID = i.MedicalRecordID) 
WHERE datediff(d, '" + fromDate.ToString("dd/MMM/yyyy") + "', i.InvDate) >=0  
AND datediff(d, '" + toDate.ToString("dd/MMM/yyyy") + "', i.InvDate) <=0", objConn);

nebo pokud máte nějaké omezení k provedení výše uvedeného, ​​převeďte vstup pomocí CONVERT()

SqlCommand objCmd = new SqlCommand("SELECT CONVERT(char(80), i.InvDate,3) AS InvDate, 
i.InvoiceNo,
i.EmployerCode,
i.TaxAmount + i.SubTotal AS Amount,
'' AS Payment,
pd.GivenName 
FROM    dbo.Invoice i 
INNER JOIN dbo.PatientDetails pd ON (pd.MedicalRecordID = i.MedicalRecordID) 
WHERE datediff(d, CONVERT(datetime, '" + dtpFrom.Text + "', 105 ), i.InvDate) >=0  
AND datediff(d, CONVERT(datetime, '" + dtpTo.Text + "', 105 ), i.InvDate) <=0", objConn);


  1. Vzdálené připojení mysql přes bezplatný hostitel

  2. MySQL 8 vnořený výběr s počtem

  3. nelze zapisovat do souboru protokolu pg_upgrade_internal.log při upgradu z Postgresql 9.1 na 9.3

  4. PostgreSQL přízvuk + vyhledávání bez rozlišení velkých a malých písmen