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

Проблеми с дата и час на SQL Server. Американец срещу британец?

Можете да използвате ЗАДАВАНЕ НА ЕЗИК за да изберете формата на датата, който SQL Server очаква в заявки (мисля, че студиото за управление използва регионалните настройки на клиентския компютър за целите на показването, но не съм сигурен). Предлагам обаче да предавате стойности, като използвате параметри, вместо да ги вграждате в израз на заявка. Няма да срещнете никакви проблеми, ако използвате параметри. Всичко е погрижено.

set language us_english
declare @d datetime = '1929/12/18'

set language british
declare @d datetime = '1929/12/18' -- fails

За да промените езика по подразбиране на сървъра:

declare @langid int = (select langid from syslanguages where name = 'british')
exec sp_configure 'default language', @langid
reconfigure with override


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мисли за изданията на SQL Server 2019

  2. Вмъкнете преобразувания varchar в datetime sql

  3. Неправилен синтаксис близо до „GO“

  4. Връщане на стойност от команда на SQL Server Insert с помощта на c#

  5. Как да декриптирате съхранена процедура в SQL Server 2008