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

SQL конвертиране на дата и час и изваждане на часове

declare @createTime datetime = '2012-10-06 02:29:37.243';

-- original value, default formatting
select @createTime;

-- formatted
select convert(varchar, @createTime, 100);

-- subtract 4 hours, formatted
select convert(varchar, dateadd(hour, -4, @createTime), 100);

Заявката по-горе, която използва dateadd винаги ще изважда 4 часа. Ако целта ви е да конвертирате произволна дата и час от UTC в местно време, тогава е по-сложно, защото отместването, което трябва да добавите/извадите, зависи от оригиналната дата и час. Една единствена стойност като -4 не винаги работи. Ето някои идеи за справяне с общия случай:

Ефективно преобразуване на дати между UTC и местно (т.е. PST) време в SQL 2005



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как ефективно да изтривате редове, като НЕ използвате Truncate Table в таблица с 500 000+ реда

  2. 2 начина за връщане на всички дефинирани от потребителя функции в база данни на SQL Server

  3. MSSQL Грешка „Основният доставчик се провали при отваряне“

  4. Разлика между неявна и явна транзакция

  5. Кога трябва да използваме NVARCHAR/NCHAR вместо VARCHAR/CHAR в SQL Server?