|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
Не понимаю как внутри case использовать isnull. NULL содержится в стобце financed. Нужно преобразовать NULL в столбце financed в 0 подобным образом - isnull(financed,0) sum(CASE WHEN date_time >='2020-04-01' and date_time <='2020-12-31' THEN cast((dpd15)as float)END) / SUM(CASE WHEN date_time >='2020-04-01' and date_time <='2020-11-31' THEN l(financed,0)END) Одна из моих моих попыток : sum(CASE WHEN date_time >='2020-04-01' and date_time <='2020-12-31' THEN cast((dpd15)as float)END) /SUM(CASE WHEN date_time >='2020-04-01' and date_time <='2020-11-31' THEN isnull(financed,0)END)as 'dpd15%', ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 16:26 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
elay13, зачем Вы хотите разделить на ноль? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 17:47 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
И какой результат вы ожидаете получить? Почему тогда не Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 09:46 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
env, sum(CASE WHEN date_time <='2020-11-30' and fraud_2mob=1 THEN cast((fraud_2mob)as float) END) / SUM(CASE WHEN date_time <='2020-11-30'and financed=1 THEN financed END)as 'fraud2', вот такое получилось правильным , потребовался день что бы понять что даты 2020-11-31 не существует xD ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 10:57 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
elay13 Код: sql 1.
зачем даты сравнивать со строкой? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 11:10 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2021, 11:26 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
andreymx, не воспроизводится! declare @a date = '2020-02-31'; Msg 241, Level 16, State 1, Line 1 Conversion failed when converting date and/or time from character string. Completion time: 2021-02-08T09:47:21.5538838+04:00 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 08:48 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
uaggster, мне кажется, что мой тест несколько отличается от вашего ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 09:40 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
andreymx Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
{d '2020-02-31'} - это "функция ODBC" https://docs.microsoft.com/en-us/sql/t-sql/functions/odbc-scalar-functions-transact-sql?view=sql-server-ver15 и здесь преобразование даты выполняется в момент компиляции процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 09:51 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
aleks222 {d '2020-02-31'} - это "функция ODBC" https://docs.microsoft.com/en-us/sql/t-sql/functions/odbc-scalar-functions-transact-sql?view=sql-server-ver15 и здесь преобразование даты выполняется в момент компиляции процедуры. в 100 раз хуже, когда в процессе работы ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 17:50 |
|
использование isnull внутри case
|
|||
---|---|---|---|
#18+
elay13 env, sum(CASE WHEN date_time <='2020-11-30' and fraud_2mob=1 THEN cast((fraud_2mob)as float) END) / SUM(CASE WHEN date_time <='2020-11-30'and financed=1 THEN financed END)as 'fraud2', вот такое получилось правильным , потребовался день что бы понять что даты 2020-11-31 не существует xD не скажите, в неэвклидовом пространстве еще и не такое есть ... |
|||
:
Нравится:
Не нравится:
|
|||
08.02.2021, 18:28 |
|
|
start [/forum/topic.php?fid=46&fpage=35&tid=1685113]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 152ms |
0 / 0 |