|
|
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
Да я ж не против. Я о том, что в подавляющем большинстве случаев использования IFNULL()второй параметр - литерал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2013, 18:44:37 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
Так мне писать запрос через COALESCE ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2013, 22:43:28 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALFТак мне писать запрос через COALESCE ??? IFNULL - это формально просто обёртка для COALESCE в случае ровно двух аргументов. Думай сам. Я в своё время выбрал не-использование IFNULL, и другим советую того же. Всё, что можно сделать с помощью IFNULL, можно сделать и с помощью COALESCE. Но не наоборот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.12.2013, 23:47:38 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
AkinabboyRALFТак мне писать запрос через COALESCE ??? IFNULL - это формально просто обёртка для COALESCE в случае ровно двух аргументов. Думай сам. Я в своё время выбрал не-использование IFNULL, и другим советую того же. Всё, что можно сделать с помощью IFNULL, можно сделать и с помощью COALESCE. Но не наоборот. В общем понятно, что ничего не понятно... Буду писать приложение, которое будет сцеплять строки... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2013, 10:30:25 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
В общем. Возвращаюсь все к тому же товарищи. Проблема здесь из-за того что данные должны быть равны, поэтому вывод значений идет только при равестве( если есть пустой, то конкатенация не происходит) Код: sql 1. Умы человечества, подскажите... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 13:26:43 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALFВ общем. Возвращаюсь все к тому же товарищи. Проблема здесь из-за того что данные должны быть равны, поэтому вывод значений идет только при равестве( если есть пустой, то конкатенация не происходит) Код: sql 1. Умы человечества, подскажите... как объединять даже если данные не равны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 13:42:23 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALF, соединение строки и значения NULL всегда дает NULL. непонятно, зачем у вас вот это IF(tex.date = '03.02.2014',TIME_FORMAT(tex.time,'%H:%i'),null) так вы будете всегда получать NULL на всем выражении, если tex.date не '03.02.2014'. Смысл? если вам нужны данные только за 03.02.2014, можно просто поставить это условие в WHERE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2014, 18:37:12 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
VFl, Нет не только за 3 число, такой же запрос на каждые будни февраля месяца, т.е. 4-5...28 число, а как быть если в tex.time есть данные, а в off.time нету ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 02:25:14 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
VFlсоединение строки и значения NULL всегда дает NULL.Не всегда. http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat-ws CONCAT_WS() does not skip empty strings. However, it does skip any NULL values after the separator argument. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 04:28:44 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALFкак быть если в tex.time есть данные, а в off.time нету ? IFNULL(TIME_FORMAT(tex.time,'%H:%i'), 'NULL' ), если вы хотите получить результат в виде NULL|02:00 или 02:12|NULL Тогда NULL будет просто записан строкой. или сделать IFNULL(TIME_FORMAT(tex.time,'%H:%i'), '' ) если вы хотите получить результат в виде |02:00 или 02:12| или, например, IFNULL(TIME_FORMAT(tex.time,'%H:%i'), 'пусто' ) Тогда в результате будет пусто|02:00 и 02:12|пусто Опс, возникнут проблемы с MAX() функциями, если IFNULL() будет подменять время на текст. Я не знаю весь SELECT, который у вас, но если есть группировка, и MAX() сильно нужен, то должно работать и так: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 05:08:21 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
Наверно, так точнее: Код: sql 1. 2. 3. miksoftVFlсоединение строки и значения NULL всегда дает NULL.Не всегда. http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_concat-ws CONCAT_WS() does not skip empty strings. However, it does skip any NULL values after the separator argument. Cоединение строки и значения NULL всегда дает NULL. Это стандарт SQL. NULL в SQL понимается как "не знаю, что там". Если вы к любому значению прибавите "не знаю что", то и получится "не знаю что", т.е. NULL. Функция CONCAT_WS() игнорирует/перепрыгивает значения NULL, а не соединяет их со строкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 05:19:46 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
VFlНаверно, так точнее: Код: sql 1. 2. 3. miksoftпропущено... Не всегда. пропущено... Cоединение строки и значения NULL всегда дает NULL. Это стандарт SQL. NULL в SQL понимается как "не знаю, что там". Если вы к любому значению прибавите "не знаю что", то и получится "не знаю что", т.е. NULL. Функция CONCAT_WS() игнорирует/перепрыгивает значения NULL, а не соединяет их со строкой.Кэп, как раз вас нам и не хватало Я бы всё-таки постарался выяснить, что именно надо ТСу, что он хотел сказать вот этим: bboyRALFданные должны быть равны, поэтому вывод значений идет только при равестве( если есть пустой, то конкатенация не происходит)Может, ему как раз и надо "перепрыгивание нуллов". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2014, 07:12:06 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
В общем, без исходных данных, текста запроса, результата выполнения этого же запроса на этих же данных, и внятного объяснения, почему результат следует считать неправильным, ситуация тупиковая ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 09:03:40 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
и пожалуйста, не постите скриншоты, только текстом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 09:04:43 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. набор данных таблица tex date time comp status03.02.2014 07:09KR Приветствие04.02.2014 07:19KR Приветствие04.02.2014 15:50KR Завершение работы05.02.2014 14:16KR Блокировка (это примерные данные) из-за таких данных я получу в норм виде только за 4.02, а за 3.02 и за 5.02 я получу просто null в итоге запрос выдает name03.0204.0205.02Иванова Машаnull07:19|15:50null, хотя! 3.02 и 5.02 есть зафиксированная информация и мне нужно чтобы он выводил так name03.0204.0205.02Иванова Маша07:09|null07:19|15:50null|14:16 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:11:22 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALF, замените в своих конкатах null на 'null'. В принципе это будет код из последнего поста VFI. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:17:39 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
PS. А что должно выдаваться при отсутствии каких бы то ни было данных за день? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:18:41 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
И вообще, что мешает сделать, не N колонок, а 2N - старт+стоп? И туда выбирать уже труЪ нуллы, если таковые появятся? Зачем это пропихивание нуллов в строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:20:11 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
tanglirИ вообще, что мешает сделать, не N колонок, а 2N - старт+стоп? И туда выбирать уже труЪ нуллы, если таковые появятся? Зачем это пропихивание нуллов в строки? не совсем Вас понял.. По поводу если будут отсутствовать данные за день, то просто null ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 11:36:47 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALFне совсем Вас понялВот так нельзя сделать? И не морочить голову с конкатами. name03.02-start03.02-stop04.02-start04.02-stop05.02-start0.02-stopИванова Маша07:09null07:1915:50null14:16 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:45:35 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
tanglir, Да я тоже за такой вид изначально был ) Но руководство понимает лучше меня. ) поэтому без конкатенации ни как.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:47:39 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALF, ну тогда смотри выше, например, последний пост VFI, только туда ещё надо условие добавить, чтобы получилось что-то вроде Код: sql 1. в общем, то ещё мракобесие получится. Зато "красиво", ага. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 12:55:09 |
|
||
|
Конкатенация с NULL
|
|||
|---|---|---|---|
|
#18+
bboyRALF, вместо Код: sql 1. 2. 3. 4. лучше наверно как то так: Код: sql 1. 2. 3. 4. 5. 6. потому что если данных по Маше Ивановой для "Завершения" или "Блокировки" по какой то дате нет, то у вас оно и "Разблокировку" с "Приветствием" не покажет. Думается так. Синтакс надо проверить, писал без проверки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2014, 18:18:39 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38577643&tid=1835153]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 306ms |

| 0 / 0 |
