Вниз
Скачать: CL | DM;

Помогите написать простенькую функцию на SQL   Найти похожие ветки 

← →
Бывающий   (2004-01-20 15:43) [0]

Функция должна возвращать целую часть числа. Если число отрицательно, то 0. Типа во так, но надо на SQL-e:

Function I(Expression)
Expression = Int(Expression)
If Expression < 0 Then Expression = 0
I = Expression
End Function


← →
Skif   (2004-01-20 15:49) [1]

case
when test<=0 then p=0
when test>0 then p=ROUND(test,0)


← →
stone ©   (2004-01-20 15:50) [2]

round и abs комбинируй


← →
Skif   (2004-01-20 15:53) [3]

сори, вкралась маленькая ошибочка:

select test,case
when test<=0 then test=0
when test>0 then ROUND(test,0)
from you_table;


← →
Polevi ©   (2004-01-20 15:55) [4]

end забыл


← →
Бывающий   (2004-01-20 15:57) [5]

Не совсем так. Мне надо взять целую часть, а round округляет.
20.8 - должно давать 20, а не 21.


← →
Бывающий   (2004-01-20 15:58) [6]

FLOOR нашел!


← →
Ega23 ©   (2004-01-20 16:00) [7]


>
> select test,case
> when test<=0 then test=0
> when test>0 then ROUND(test,0)
> from you_table;

Неправильно.

select test=case when test<=0 then 0
when test>0 then ROUND(test,0) end
from you_table


← →
Skif   (2004-01-20 16:08) [8]

>Ega23
Я писал только в SQL, без конвертации в делфу. Так что принимаю ошибку только when test<=0 then 0 ;))) Авсе остальное с командной строки монитора MySQL чудно работает.


← →
Fay ©   (2004-01-20 16:12) [9]

не ROUND, а FLOOR !


← →
ZrenBy ©   (2004-01-20 16:12) [10]

select sign((sign(Field)+1))*floor(Field)


← →
Бывающий   (2004-01-20 16:24) [11]

Спасибо всем, коллеги!


← →
Ega23 ©   (2004-01-20 16:32) [12]


> Skif (20.01.04 16:08) [8]
> >Ega23
> Я писал только в SQL, без конвертации в делфу. Так что принимаю
> ошибку только when test<=0 then 0 ;))) Авсе остальное с
> командной строки монитора MySQL чудно работает.


1. В качестве СУБД был указан MSSQL, а не MySQL.
2. end после Case был забыт.
3. Сама конструкция case была написана неправильно.
4. Это чистый TSQL, Delphi тут не при чём.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.012 c
14-29605
TurburatoR
2004-01-19 13:17
2004.02.10
ServicePak для D6


14-29551
Антонио
2004-01-20 20:01
2004.02.10
Народ! Помогите найти компонент, Please!


1-29412
Фдуч
2004-01-31 17:30
2004.02.10
Как добавить в treeview столбец с checkbox ами для item


11-29293
Wizard2003
2003-05-25 22:11
2004.02.10
PE Icon...


1-29315
Mr. X
2004-01-30 08:51
2004.02.10
CD-ROM




   Наверх