|
|
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
здрасте всем. у меня возникла проблемма, правда решаемая. раньше завод работал в системе написаной на фоксе. сейчас переходит на другую, к сожалению. информация была перекачана в оракакл, не мной. моя задача проверить правильность информации. это прелюдия при сравнении 2 таблиц, одна на оракле, другая в dbf, возникает проблемма со значением null. простой пример: ?date()=null возвращает null я щас пользуюсь функцией nvl() вопрос: есть какая нибудь установка, при которой будет возвращаться false? и еще: может кто подскажет, с какими еще приблудами я столкнусь при сравнении? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 09:49 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
?date()=null это чего было ??? luаaaa= .null. ? nvl(luаaaa,.f.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 10:35 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
есть какая нибудь установка, при которой будет возвращаться false? нету такого ибо NULL - еще одно состояние и с этим приходица мирица. Так што работаешь в нужном направлении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 10:43 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
просто таблиц много, полей много, каждое может быть не заполнено. а писать перед каждым обращением к пелю nvl() надоело, вот я и подумал, что может есть какая либе установка. ну нет так нет, значит будем страдать :-) 2alex11100: если в командном окне написать ?date()=null, или ?1=null то фокc нарисует null. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:18 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
NULL это не ноль и не фальсе. Это отсутствие значения. Т.е. "на складе NULL ящиков с апельсинами" означает не то что апельсинов нет а то что неизвестно сколько их. Если лень возиться можно просто все поля единоразово заменить на 0, "" или FALSE и поменять структуру запретив вставку NULL-значений Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:30 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
все правильно null всегда нулл и нуллом погоняет нулл всех побивает и перебивает усе правильно, так и должно быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:42 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
я бы с удовольствием:-) таблицы не мои пример поподробней: =sqlexec(con1,"select * from table1", 'table1') use table2 in 0 shared * эти таблицы должны содержать одинаковые значения по полям select * ; from table1,table2 ; where table1.id=table2.id and; nvl(table1.date,{})#table2.date; into curs q1 так я щас делаю а теперь представте, что полей, которые надо сравнивать много. вот я и хотел, что бы вы чего нибудь посоветовали вместо nvl() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:44 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
alex11100все правильно null всегда нулл и нуллом погоняет нулл всех побивает и перебивает усе правильно, так и должно бытьНу, не всегда перебивает ;-) Все же .null. or .f. будет .f. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 11:58 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
Urri ????? не козлись ? .null. or .f. будет нулл ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:13 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
А .null. or .t. будет .t. ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:37 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
Перепутал ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:39 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
а у меня мама педагог а папа пианист ну какой я нафиг ... ну все закозлил........... ууууууу...... куды бежать то ....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 12:40 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
Короче, чтобы больше не козлить ;-) MSDN Logical expressionResult if x=TRUE Result if x=FALSE Result if x=.NULL. x AND .NULL..NULL.FALSE.NULL.x OR .NULL.TRUE.NULL..NULL.NOT xFALSETRUE.NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:01 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
так я щас делаю а теперь представте, что полей, которые надо сравнивать много. вот я и хотел, что бы вы чего нибудь посоветовали вместо nvl() --------------- если в структуре предусмотрено хранение NULL значений то придётся явно вызывать функции конвертации. Всегда и во всех командах. Ну, чуть побольше писать придётся, не вижу проблемы Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:03 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
зависит от настроек и реализации. Для мс скл например SET ANSI_NULLS SET ANSI_NULL_DFLT_ON SET ANSI_NULL_DFLT_OFF Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2005, 13:06 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
Hi newton! 1) "Сравнивать" с NULL надо используя функцию ISNULL() 2) Настоящий программист ленив - и потому он конечно не станет руками писать все эти многочисленные запросы сравнивающие 2 таблицы (точнее таблицу и курсор полученный из Oracle) - он напишет программу, которая по структурам (AFIELDS() например) этих курсоров автоматически (ну или полуавтоматически - например проставит везде # а потом даст тебе возможность для ключевых полей поменять условие на = или ==) построит запрос для сравнения и выполнит его :) При автоматическом построении конечно нет проблем обернуть вообще ВСЕ поля в NVL(), или добавить соответствующие условия c ... IS NULL Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2005, 00:00 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
Подскажите как можно проверить поле на пустоту если SELECT * FROM baza WHERE DATE_B_DAY is null -- неканает :( FoxPRo в поле показывает / / ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 14:31 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
DenSovПодскажите как можно проверить поле на пустоту если SELECT * FROM baza WHERE DATE_B_DAY is null -- неканает :( FoxPRo в поле показывает / / Где в FoxPro? SELECT * FROM baza WHERE ISNULL(DATE_B_DAY) OR EMPTY(DATE_B_DAY) В Oracle есть аналоги данных функций, в MS SQL Server IS NULL а второе выржение я обычно делаю через минимальную дату... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 14:44 |
|
||
|
нужен ликбез по NULL
|
|||
|---|---|---|---|
|
#18+
Sergey Ch DenSovПодскажите как можно проверить поле на пустоту если SELECT * FROM baza WHERE DATE_B_DAY is null -- неканает :( FoxPRo в поле показывает / / Где в FoxPro? SELECT * FROM baza WHERE ISNULL(DATE_B_DAY) OR EMPTY(DATE_B_DAY) В Oracle есть аналоги данных функций, в MS SQL Server IS NULL а второе выржение я обычно делаю через минимальную дату... Или так: SELECT * FROM baza WHERE EMPTY(NVL(DATE_B_DAY, {})) С уважением, Алексей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.07.2007, 14:51 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33330149&tid=1589068]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 182ms |
| total: | 262ms |

| 0 / 0 |
