|
SQL как отобрать данные
| ☑ |
0
Штурман
27.12.19
✎
15:00
|
В SQL Server есть таблица Table
В ней такие данные:
ID Time Subj
1 2019-11-15 05:35:25.000 A
2 2019-11-15 06:37:25.000 B
3 2019-11-15 08:35:29.000 C
4 2018-11-15 05:35:25.000 D
5 2019-12-15 05:35:25.000 E
Из таблицы нужно отобрать записи, где Time = 2019-11
Если написать запрос следующим образом:
select * from Table
where Time like '%2019%'
то отберется 2019 год
однако есть написать
where Time like '%2019-11%'
то ничего не выводится
Как правильнее написать запрос?
|
|
1
Волшебник
модератор
27.12.19
✎
15:01
|
нужно использовать функции извлечения года и месяца из даты
|
|
2
Волшебник
модератор
27.12.19
✎
15:02
|
(1)+ или задействовать BETWEEN НачМесяца AND КонМесяца
|
|
3
shuhard
27.12.19
✎
15:02
|
(0) ну like по дате пускать как то странно
|
|
4
Штурман
27.12.19
✎
15:06
|
(2) блин, точно )
(3) да вообще, даже дату пытался в строку перевести и юзать лайк )
Попробую в общем, отпишусь )
|
|
5
Штурман
28.12.19
✎
15:45
|
написал так
between '20191114' and '20191116'
Выводит, однако нужно именно одно число, может в запросе как-то время указать?
|
|
6
palpetrovich
28.12.19
✎
15:50
|
(5) какое " одно число"?
из
1 2019-11-15 05:35:25.000 A
2 2019-11-15 06:37:25.000 B
3 2019-11-15 08:35:29.000 C
4 2018-11-15 05:35:25.000 D
|
|
7
palpetrovich
28.12.19
✎
15:53
|
а насчет время указать - смотри DATEPART
|
|
8
Штурман
28.12.19
✎
15:57
|
(6) ну это примерная таблица, там есть еще даты
2019-11-14
2019-11-16
и тд
Нужно вывести все столбцы с датой 2019-11-15 без учета времени )
|
|
9
Волшебник
модератор
28.12.19
✎
16:30
|
between '20191114000000' and '20191115235959'
|
|
10
Asmody
28.12.19
✎
18:38
|
Стаж 10 лет 3 месяца
|
|
11
Конструктор1С
28.12.19
✎
19:02
|
between '2019/11/01' and '2019/11/30'
|
|
12
lodger
28.12.19
✎
20:17
|
(10) сисадмин мог 10 лет в кваку рубиться.
|
|
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший