Форум: "Базы";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
ВнизПомогите написать простенькую функцию на 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 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.008 c