0 голосов
спросил от в категории SQLServer
В принципе, вы не ошиблись: вы должны рассмотреть возможность изменения его на три поля и вычисленный столбец для «восстановления» полного имени. Зачем? Поскольку SQL не подходит для обработки строк, и вам нужно разбить дату, преобразовать ее часть в целое, а затем использовать это как значение сортировки - или вы никогда не получите «правильный» вид.

Альтернативно, измените имена так, чтобы они были «с нулевым дополнением»:
CBSFBE20151202000017_000_0001.tif CBSFBE20151202000017_000_0010.tif CBSFBE20151202000017_000_0100.tif CBSFBE20151202000017_000_0101.tif CBSFBE20151202000017_000_0102.tif
Но это в целом влияет на множество систем и больше проблем, чем это стоит.

Вы можете делать то, что хотите, но ... вам нужно:
1) Разбить имя файла, чтобы удалить все после «. '- это CHARINDEX и LEFT
2) Извлечь часть после последнего символа _ _ - это сложнее:
CBSFBE20151202000017_000_0001.tif CBSFBE20151202000017_000_0010.tif CBSFBE20151202000017_000_0100.tif CBSFBE20151202000017_000_0101.tif CBSFBE20151202000017_000_0102.tif
# [#^ #] покажет вам, как.
3) Преобразуйте оставшийся бит - строковое число - в целое число и используйте это как предложение ORDER BY.

Сложно? Да. Противный? Да. Нужно делать это каждый раз, когда вы хотите это сделать? Да.
Посмотрите, что я имею в виду: «вы его неправильно храните»?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...