|
Какой тип данных Т-SQL возвращает функция COUNT()? | ☑ | ||
---|---|---|---|---|
0
Лоботряс
31.07.12
✎
20:17
|
Решил порешать задачки http://www.sql-ex.ru. Чисто для общего развития.
Сразу возник затык из-за пробела в знаниях Т-SQL. Почему-то вот такое выражение в запросе "having count(tab.model)/5 = round(count(tab.model)/5,0,1)", которое теоретически должно оставлять только каждую пятую запись, не желает работать. В колонке count(tab.model)/5 почему-то выводятся только целые числа. Сразу признаюсь Т-SQL знаю плохо (особенно в части приведения типов), ногами прошу не бить... Есть люди, готовые блеснуть своими знаниями в этом вопросе? З.Ы. Текст запроса нужен? |
|||
1
shuhard
31.07.12
✎
20:19
|
(0) шёл бы ты на Sql.ru с такими вопросами
|
|||
2
Лоботряс
31.07.12
✎
20:21
|
(1) А че так?
|
|||
3
Rie
31.07.12
✎
20:22
|
(0) Непонятно, почему это выражение должно оставлять каждую пятую запись.
А возвращает COUNT, вестимо, целое. А int/int в SQL даёт именно int, а не что-то иное. |
|||
4
prog2012
31.07.12
✎
20:24
|
(0)зачем?
|
|||
5
Лоботряс
31.07.12
✎
20:35
|
(3)Ну потому что при группировке выражение count(tab.model) возвращает число равное порядковому номеру записи. А мне нужно выбрать только каждую 5-ю запись, т. е. кратную 5-ти.
"А возвращает COUNT, вестимо, целое" а как мне результат преобразовать в дробное? (4) Просто так. |
|||
6
Пеппи
31.07.12
✎
20:38
|
а как мне результат преобразовать в дробное?
и где? в запросе? |
|||
7
Rie
31.07.12
✎
20:38
|
(5) COUNT(tab.model)/5.0
(только всё равно странно это...) |
|||
8
Лоботряс
31.07.12
✎
20:39
|
(6)Да, в запросе. Это не 1с-овский запрос.
|
|||
9
Лоботряс
31.07.12
✎
20:45
|
(7)Помогло спасибо. Хотя все равно ничего не понял:))
|
|||
10
Rie
31.07.12
✎
20:51
|
(9) Тип результата деления в SQL зависит от типов аргументов. У тебя оба аргумента были типа int - вот и результат был int. 5.0 имеет тип decimal - вот и результат стал decimal.
|
|||
11
Лоботряс
31.07.12
✎
21:01
|
(10)Благодарствую за разъяснение. Пойду наверное куда послали в первом посте.
|
|||
12
prog2012
31.07.12
✎
23:53
|
(11)доложишь потом чем закончилось
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |