LIMIT limit OFFSET offset
будет работать.
Но вам нужно стабильное ORDER BY
предложение , или значения могут быть упорядочены по-разному для следующего вызова (например, после любой записи в таблицу).
SELECT *
FROM msgtable
WHERE cdate = '2012-07-18'
ORDER BY msgtable_id -- or whatever is stable
LIMIT 10
OFFSET 50; -- to skip to page 6
Используйте соответствующий стандарту стиль даты ( ISO 8601 в моем примере ), который работает независимо от ваших настроек локали.
Пейджинг будет по-прежнему смещаться, если соответствующие строки будут вставлены, удалены или изменены в соответствующих столбцах. Это должно.
Чтобы избежать этого сдвига или повысить производительность при работе с большими таблицами, используйте более умные стратегии разбиения на страницы :
Моя проблема заключается в том, что после того, как данные были разделены, они по-прежнему имеют огромное количество пробелов слева и справа в случайных строках в списке (фактически, большинство из них так и есть) . Я не могу обрезать строку, потому что она удаляет только пробелы, и технически это не пробелы.
Похоже, в вашей строке есть символы пробелов без табуляции, а также разделены табуляцией.
Использование String.Trim должно нормально работать для удаления этих лишних символов. Если по какой-либо причине выполнение String.Trim для каждого слова не работает, вам нужно переключиться, чтобы узнать, из чего состоят лишние «символы», и использовать эту перегрузку String.Trim .
У вас есть такие пробелы / вкладки? "Привет"?
Обрезать, удалить пробелы и табуляции тоже