|
|
#1 |
|
Участник
|
Выборка не пустых строковых значений в AX 3.0
Вероятно баян, но в поиске не нашел.
Столкнулся со странным поведением, когда при выборке из таблицы по условию table.field (но не по условию table.field != "") не выбираются значения, начинающиеся со знака "минус" (-). Тут проще показать, чем рассказать )): X++: TestTable testTable;
RecordInsertList ril;
;
ttsbegin;
delete_from testTable;
ril = new RecordInsertList(tableNum(TestTable));
testTable.stringField = "1";
ril.add(testTable);
testTable.stringField = "-1";
ril.add(testTable);
testTable.stringField = "(3%*3%)";
ril.add(testTable);
testTable.stringField = "-(3%*3%)";
ril.add(testTable);
testTable.stringField = "bla-bla";
ril.add(testTable);
testTable.stringField = "-bla-bla";
ril.add(testTable);
ril.insertDatabase();
ttscommit;
setPrefix("Result");
while select testTable
where testTable.stringField
{
info("First\t" + testTable.stringField);
}
while select testTable
where testTable.stringField != ""
{
info("Second\t" + testTable.stringField);
}Код: Result
First
1
(3%*3%)
bla-bla
Second
1
-1
(3%*3%)
-(3%*3%)
bla-bla
-bla-blaВ AX2009 такое не повторяется. |
|
|
| Теги |
| sql server, сортировка, сравнение |
|
|
|