Как получить только дату с сервера sql

#c# #sql-server

#c# #sql-сервер

Вопрос:

это то, что я хочу. но я поставил только указанную дату.

 SELECT BookName, Author, BookPrice 
FROM Book 
WHERE Book.Book_ID = ( 
    SELECT Book_ID 
    FROM Temp_Order 
    WHERE Temp_Order.User_ID = 25 AND Temp_Order.OrderDate='3/24/2010'
)
  

это функция date, которую я использовал. но это также требует времени. как это остановить. пожалуйста, помогите мне

 SELECT Book_ID, BookName,Author,BookPrice 
FROM Book INNER JOIN FavCategory ON Book.Category_ID = FavCategory.Category_ID 
WHERE FavCategory.User_ID = "   useridlabel.Text   " AND 
      OrderDate =  **GETDATE()** 
  

Комментарии:

1. Это не дает прямого ответа на ваш вопрос, поэтому я добавлю его в качестве комментария. Если вы используете SQL 2008, вы могли бы рассмотреть возможность использования нового типа данных «Дата» вместо DateTime для поля OrderDate.

Ответ №1:

Это для Sql Server 2000:

 SELECT CONVERT(DATETIME, FLOOR(CONVERT(FLOAT, GETDATE())))
  

Ответ №2:

 SELECT CONVERT (date, GETDATE())
  

MSDN

Комментарии:

1. спасибо за быстрое сообщение, я нашел это ПРЕОБРАЗОВАНИЕ (date, GETDATE()) но здесь что такое «дата»? это имя столбца . пожалуйста, объясните мне

2. это тип данных, который поставляется с Sql Server 2005 и выше

3. ВЫБЕРИТЕ BookName, Author, BookPrice ИЗ книги, ГДЕ Book. Book_ID = ( ВЫБЕРИТЕ Book_ID ИЗ Temp_Order, ГДЕ Temp_Order. User_ID = 25 И Temp_Order. OrderDate= ПРЕОБРАЗОВАТЬ (дата, GETDATE())) Это сообщение, которое я получаю, сообщение 243, уровень 16, состояние 1, тип строки 1 дата не является определенным системным типом.

4. извините, SQL 2008 «и выше» msdn.microsoft.com/en-us/library/ms187752(SQL.90).aspx

Ответ №3:

Это классический вопрос для версий Sql Server, предшествующих 2008 году:

 SELECT Book_ID, BookName,Author,BookPrice 
FROM Book INNER JOIN FavCategory ON Book.Category_ID = FavCategory.Category_ID 
WHERE FavCategory.User_ID = "   useridlabel.Text   " 
AND CONVERT(nvarchar, OrderDate, 111) = CONVERT(nvarchar, GETDATE(), 111)
  

В зависимости от кода (111), который вы помещаете в конце, вы можете отформатировать дату для зоны, в которой вы находитесь.

Ответ №4:

Попробуйте:

   OrderDate =  CONVERT(varchar, GETDATE(), 101)
  

который возвращает дату в формате мм / дд / гггг, или выберите формат преобразования из здесь.

Комментарии:

1. Привет, друзья, спасибо за все комментарии. Есть ли она в любом случае, когда я вставляю дату. без отправки времени. будет сохранена только дата. даже если я это сделаю, это сэкономит время как 12.00. есть ли что-нибудь для этого? если я смогу найти это, я тоже смогу решить свою проблему

2. Нет, вам придется сохранить дату и время, поскольку тип date отсутствует. Вам нужно будет всегда преобразовывать datetime в date с помощью convert, чтобы работать с ним, как если бы это была дата.

Ответ №5:

 SELECT DATEADD(dd, 0, DATEDIFF(dd, 0, GETDATE()))