Хранение SQL Server 2005 datetime - PullRequest
1 голос
/ 01 июня 2011

У меня есть скрипт php, который вставляет значения в таблицу SQL Server 2005 с помощью SQL

$date = '15 Jun 2011 00:00';
$sql = "INSERT INTO shows ( DateStart ) VALUES ( '$date')"; 

У меня есть 2 проблемы:

1) как лучше всего преобразовать эту дату в SQL Serverпонимает?Формат по умолчанию - мм / дд / гггг в моей системе, но я хочу представить даты как удобочитаемые для пользователя.

2) При вставке пустой строки значение DateStart устанавливается на 01.01.1900.Как лучше всего преобразовать «недопустимую» дату в NULL (столбец уже принимает значения NULL), чтобы при $date = "" тогда DateStart IS NULL

Спасибо!

Ответы [ 2 ]

5 голосов
/ 01 июня 2011
  • Пункт 1: Использовать формат даты ISO YYYY-MM-DDTHH:MM:SS
    Примечание: Для даты используйте только YYYYMMDD из-за аномалий в том, как SQL Server анализирует даты
  • Точка 2: NULLIF(value, '')
0 голосов
/ 01 июня 2011
  1. Я думаю, что формат даты и времени при вставке записи в столбец даты и времени должен всегда "ГГГГ-ММ-ДД ЧЧ: ММ: СС" Формат по умолчанию

  2. ГБН уже сказал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...