25.08.2010, 14:26 | #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, сортировка, сравнение |
|
|