#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())
Комментарии:
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()))