|
|
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! в общем возникла необходимость пронумеровать строки в зависимости от содержания некого поля MyText Varchar2(4000). ... dense_rank() over(order by MyText ) в рабочей базе оказались в наличии две строки, у которых значение в MyText более 1000 символов длиной, при этом первые 1000 совпадают, а дальше текст совершенно разный. по логике строки разные и dense_rank должна вернуть разные значения, но нет! ЧЯДНТ? пример (воспроизводится в ORACLE 11.0.2): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 02:04 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
dense_rank rank row_number length X TEXT 1 1 2 1008 1 0000000000000000000000000000000000000000... 1 1 1 1018 2 0000000000000000000000000000000000000000... вот такие дела. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 02:23 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
fanat000, вот тебе же не лениво было столько нулей набивать. LPAD/RPAD - это для лохов, наверное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 06:14 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
Ha 11.2.0.3 (11.2.0.2 не имею и проверить не могу) не воспроизводится: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. SY. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 07:01 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
SY, у меня на Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production PL/SQL Release 11.2.0.4.0 - Production "CORE 11.2.0.4.0 Production" TNS for 64-bit Windows: Version 11.2.0.4.0 - Production NLSRTL Version 11.2.0.4.0 - Production результат соответствует тому, что у ТС: Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 07:11 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эх, на Код: plsql 1. 2. 3. 4. 5. результат аналогичный.... Код: plsql 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 07:14 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 08:20 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
глюков нету Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 08:24 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - Эхfanat000, вот тебе же не лениво было столько нулей набивать. LPAD/RPAD - это для лохов, наверное? а с LPAD при 1000 не воспроизводится;-) поигрался, вот так снова "глючит": Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 08:45 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 08:52 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
fanat000, ты его просто неправильно готовишь.... Нужно ведь чтобы строка была не 1000 байт длиной, а чуть больше.... Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 08:53 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
спасибо всем за участие, в будущем буду иметь ввиду данный нюанс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 11:08 |
|
||
|
dense_rank проверяет только первые 1000 символов?
|
|||
|---|---|---|---|
|
#18+
fanat000, dense_rank() over(order by text,substr(text,1000),substr(text,1999),substr(text,2998),substr(text,3997)) "dense_rank", .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2018, 11:08 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39584149&tid=1884593]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
35ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 328ms |

| 0 / 0 |
