Member 14185275 Ответов: 1

Как искать представление сетки с помощью столбца даты?


В таблице базы данных sql у меня есть один приоритет имени таблицы.В этих 3 столбцах - идентификатор , имя, дата регистрации.Для зарегистрированной даты по умолчанию используется функция getdate (), которая автоматически генерирует дату и время создания записи.Теперь в виде сетки я хочу искать записи, используя эту зарегистрированную дату.В представлении сетки у меня есть выпадающий поиск по имени и дате.При поиске с помощью этого запроса я не получаю никаких данных ,если я ищу с датой, но я получаю правильные данные, если я ищу с именем.

Что я уже пробовал:

CREATE PROC [dbo].[SEARCHPRIOR]
@SearchBy   varchar(50),
@SearchVal  varchar(50),

AS
BEGIN
IF @SearchBy = '1'
           BEGIN
                SELECT * FROM PRIORITY WHERE P_NAME like '%' + @SearchVal + '%'
          END

  ELSE IF @SearchBy = '2'
          BEGIN
                SELECT * FROM PRIORITY WHERE P_TS like '%' + @SearchVal + '%'
          END

ELSE
        BEGIN
                SELECT * FROM PRIORITY 
        END
END


I have tried searching with this query but getting no results found in grid view. This is how table look like in SQL Server:

P_ID     P_NAME    P_TS
-------------------------------------------
1        High      2019-04-23 16:17:08.097
2        Medium    2019-04-24 16:17:23.070                                                               
3        Low       2019-04-25 16:17:32.420

Animesh Datta

какой формат datetime вы передаете в @SearchVal, когда @SearchBy = '2'

Member 14185275

формат datetime, передаваемый в качестве входных данных, - гггг-ММ-ДД

1 Ответов

Рейтинг:
12

Animesh Datta

Привет ,
Я бы посоветовал вам бросить @P_TS значение в формате даты выглядит следующим образом

SELECT * FROM PRIORITY WHERE 
FORMAT(P_TS, 'yyyy-MM-dd') like '%' + @SearchVal + '%' 
//FORMAT is introduced in SQL Server 2012. 

Или вы также можете использовать функцию преобразования
SELECT * FROM PRIORITY WHERE 
convert(varchar, P_TS, 126) like '%' + @SearchVal + '%' 

Здесь я предполагаю, что вы передаете @SearchVal в формате "гггг-ММ-ДД".
Надеюсь, это может вам помочь.
Спасибо


Member 14185275

Спасибо тебе большое, Анимеш, он прекрасно работает.
спасибо Вам за ваш ценный ответ.

Animesh Datta

Рад вам помочь