|
|
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
Пишу вот такой Select Select field1 from table1 where field2='1234567890' Нужно сравнить 6 первых цифр в обеих полях. Как это сделать? Использую SubStr(field2,1,6) = Substr('1234567890',1,6) и все равно 0 raws affected Хотя такая запись есть и не одна... ЗЫ Простите за глупый вопрос но мануала под рукой нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 16:55 |
|
||
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
структуру table1 покажите - интересует как объявлено field2. Если поле символьное, то Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 17:03 |
|
||
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
:-) если б я еще знал как посмотреть структуру :-) desc table1 тут не катит... Поле точно символьное в нем есть буквы. А твоя запись с [1,6] вообще дает ошибку SQL. Error: sqlerrm(field2) (State:22003, Native Code: FFFFFECE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 17:07 |
|
||
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
Говорит Field2 - Char(19) а константа таки объявлена в кавычках... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 17:10 |
|
||
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 17:24 |
|
||
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
В общем все оказалось просто. Вместо field2 ставил field1 совсем заработался... А еще несколько глупых вопросов 1) Как сделать цикл вида repeat until (условие) или хотя бы while (условие) do 2) как получить количество строк в select-е после того как он отработал Спасибо за участие. informix ODBC 3.34 остальное не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 17:49 |
|
||
|
Сравнить 2 строки
|
|||
|---|---|---|---|
|
#18+
1. Полная документация доступна на сервере IBM совершенно бесплатно. 2. Количество записей (dbinfo('sqlca.sqlerrd2')): Iformix SQL guideThe 'sqlca.sqlerrd2' option returns a single integer that provides the number of rows that SELECT, INSERT, DELETE, UPDATE, and EXECUTE PROCEDURE statements processed. To ensure valid results, use this option after SELECT and EXECUTE PROCEDURE statements have completed executing. In addition, to ensure valid results when you use this option within cursors, make sure that all rows are fetched before the cursors are closed. The following example shows a stored procedure that uses the 'sqlca.sqlerrd2' option to determine the number of rows that are deleted from a table: CREATE PROCEDURE del_rows (pnumb int) RETURNING int; DEFINE nrows int; DELETE FROM fst_tab WHERE part_num=pnumb; LET nrows = DBINFO('sqlca.sqlerrd2'); RETURN nrows; END PROCEDURE 3. While (ещё есть for и foreach): Informix SQL guide Example of WHILE Loops in a Stored Procedure The following example illustrates the use of WHILE loops in a stored procedure. The first WHILE loop executes a DELETE statement. The second WHILE loop executes an INSERT statement and increments the value of a procedure variable. CREATE PROCEDURE simp_while() DEFINE i INT; WHILE EXISTS (SELECT fname FROM customer WHERE customer_num > 400) DELETE FROM customer WHERE id_2 = 2; END WHILE; LET i = 1; WHILE i < 10 INSERT INTO tab_2 VALUES (i); LET i = i + 1; END WHILE; END PROCEDURE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.10.2005, 18:01 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=33301856&tid=1608891]: |
0ms |
get settings: |
8ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 205ms |
| total: | 376ms |

| 0 / 0 |
