Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Добрый день! подскажите пожалуйста, мне в бд mssql нужно отсортировать данные типа varchar такого рода: текст М10 текст М12 текст М14 текст М16 текст М5 текст М6 текст М8, хотелось бы текст М5 текст М6 текст М8 текст М10 текст М12 текст М14 текст М16. Написала такой запрос: Select Stand.Stand_ID,Stand.Mark,Stand.Type,Gost.Name, Stand.Prd, Stand.Symbol, Stand.Name as ProductName from Standart.dbo.Stand, Standart.dbo.Gost where Gost.Gost_ID=Stand.Gost_ID and Stand.Name='Болт с шестигранной головкой' ORDER BY CASE WHEN ISNUMERIC(Stand.Mark)<>0 THEN CAST(Stand.Mark AS INT)+0 ELSE 2147483648 END ASC, CASE WHEN Stand.Mark LIKE '%[0-9]%' THEN 1 ELSE 0 END ASC, Stand.Mark но он не сортирует так, как хотелось бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 08:07 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Как-то так: Код: sql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 08:30 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
skyANA, не сортирует ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 08:45 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterina, Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 08:59 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. - выделяет часть наименования до "М00", по ней можно не сортировать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:01 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Kopelly, try_cast не является известным имя встроенной функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:03 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Kopelly, если у вас текст до чисел статичный, то можно сортировать по len(Stand.Mark), Stand.Mark ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:15 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
кролик-зануда, надо именно не по длине строки, а по числам. такой запрос немного не то даст ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:19 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterina, тогда обычным cast'ом Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:21 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterina, а вы проверяли, то или не то(с учетом заданных мной ограничений)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:22 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
кролик-зануда, да, проверяла ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:26 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterina, а можно примерчик того, что отсортировалось не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:29 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Kopelly, все нормалек! спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:29 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
На случай если не во всех строках есть "Мхх": Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:30 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Kopelly, премного благодарна! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 09:39 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterina, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 13:24 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2018, 13:31 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
в продолжение темы... а если нужно отсортировать, например, десятичные дроби: 1х5 2х10 2х10.20Х13.Хим.Пас 2.2х20 2.3х16.019 2.3х8 2.6х16 2.8х20 2.10х36 3х16.20Х13.Хим.Пас 6х36.20Х13.Хим.Пас причем, разделитель может быть не только буква "х", но и "-" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 12:25 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterina, Вы хотите применить к нереляционным данным реляционные запросы. Превратите эту свалку к требованиям хотя бы первой нормальной формы, а потом сортируйте. Или сортируйте на стороне клиентского приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 12:57 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, я сортирую локально через sql запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 15:08 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
TsYekaterinaВладислав Колосов, я сортирую локально через sql запрос.SQL запрос обрабатывается на сервере, а не локально ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 15:10 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
вопрос закрыт, разобралась... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 15:44 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
поведайте всем как решили PS в порядке бреда: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2018, 16:15 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Konst_One, И куда отсортирует "10х5"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 04:56 |
|
||
|
Натуральная сортировка
|
|||
|---|---|---|---|
|
#18+
Konst_One, SELECT Stand.*, Gost.Gost_ID AS GostID, Gost.Name AS GostName, Okp.Okp_ID AS OkpID,Okp.Klass,Okp.Naim FROM Standart.dbo.Stand, Standart.dbo.Gost, Standart.dbo.Okp WHERE Stand.Gost_Id=Gost.Gost_Id AND Stand.Okp_Id=Okp.Okp_Id and stand.Name='Штифт' Order by left(Stand.Mark ,patindex ('%м[0-9]%',Stand.Mark )+0), cast(substring(Stand.Mark ,patindex ('%м[0-9]%',Stand.Mark )+1,patindex ('%[^0-9]%',substring(Mark,patindex ('%м[0-9]%',Stand.Mark )+2,1000))) as int), REPLACE(Stand.Mark, '.', 'ц') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.04.2018, 08:20 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39619282&tid=1689957]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
137ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 493ms |

| 0 / 0 |
