|
|
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите, как сделать так, чтобы mysql не удалял "ведущий ноль"? Пример: Есть таблица: my_table. В ней есть столбец ACCOUNT_NUMBER (bigint(19)). Я вставляю в этот столбец значение 069001143470. При выполнении следующего запроса: Код: sql 1. получаю следующий результат: 69001143470 Как видно потерялся первый ноль, а для меня очень важно его сохранить. В виду того, что размерность данного поля коллеблится от 10 до 19 использование zerofill для этих целей не подходит. Прошу помощи, как обойти данную особенность. Еще на данном поле навешан BTREE индекс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 17:13:12 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
katovatКак видно потерялся первый ноль, а для меня очень важно его сохранить.А нехрен строковые по сути данные хранить в чисельных полях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 17:40:37 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
katovatПодскажите, как сделать так, чтобы mysql не удалял "ведущий ноль"?Используйте строковые поля. Числовые поля не сохраняют ведущие нули. Точнее, сохраняют ровно столько ведущих двоичных нулей (или единиц в случае отрицательных чисел), сколько нужно для заполнения всего поля. Но при форматировании числа в строковый вид обычно ведущие нули обрезаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 17:57:08 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
ещё видела дополнительно длину хранят но это лишняя морока имхо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:00:25 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
В варчаре нет необходимости хранить длину. Просто надо тримать строку перед внесением в таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:05:39 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
miksoft, благодарю за ответ. Скрипт поправил Еще вопрос: в данной таблице на поле ACCOUNT_NUMBER (которое теперь уже будет char(19)) еще одно поле имеющее тип smallint(3) создается соcтавной btree индекс. Это корректно (в данном случае вопрос о том будет ли этот индекс вообще работать)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:06:07 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
А чего ему не работать, если он подходит для использования в запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:07:35 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
katovatchar(19)Лучше varchar, а то еще и лишние пробелы хранить придется. katovatЕще вопрос: в данной таблице на поле ACCOUNT_NUMBER (которое теперь уже будет char(19)) еще одно поле имеющее тип smallint(3) создается соcтавной btree индекс. Это корректно (в данном случае вопрос о том будет ли этот индекс вообще работать)?Не понял. Что такое "на поле еще одно поле" ? А индекс будет или не будет использоваться в зависимости от массы причин. В первую очередь от того, как написаны запросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:08:41 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
Akina, в смысле длину номера, штобы его потом дополнить говорюж изврат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:12:54 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Выводы сделал. Составной индекс действительно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2015, 18:19:05 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
miksoftkatovatchar(19)Лучше varchar, а то еще и лишние пробелы хранить придется. вот это не понятно, есть различия в хранении пробелов или какая-то существенная разница при поиске и т.д.? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 09:27:01 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinovесть различия в хранении пробелов Есть. В CHAR они хранятся, а в VARCHAR нет. Alex_Ustinovили какая-то существенная разница при поиске Нет. Заключительные пробелы в значении поля при поиске игнорируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 09:35:49 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
да, я в курсе, что "ПРОВЕРКА" в CHAR(20) будет храниться как "________ПРОВЕРКА" а в VARCHAR(20) будет храниться как "ПРОВЕРКА" но никаких проблем с этим не ощущаю, LIKE "ПРО%" работает одинаково. Когда-то в VFoxPro надо было тащить LTRIM(field) и в VARCHAR() чтобы увидеть на клиенте "ПРОВЕРКА" без ведущих пробелов (там своя кухня в DB) И я вижу что в CHAR заключительные пробелы НЕ хранятся, а VARCHAR хранится ВСЕ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 09:55:54 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
Alex_Ustinov"ПРОВЕРКА" в CHAR(20) будет храниться как "________ПРОВЕРКА" Вообще-то с точностью до наоборот. CHAR - left justified. Alex_Ustinovя вижу что в CHAR заключительные пробелы НЕ хранятся, а VARCHAR хранится ВСЕВообще-то с точностью до наоборот. В CHAR хранятся, а в VARCHAR отрезаются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 10:09:30 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
AkinaVARCHAR отрезаются.Точнее, не добавляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 10:14:10 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
[b]miksoft [/b], да, сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 10:51:10 |
|
||
|
удаляется "ведущий ноль" в поле типа int
|
|||
|---|---|---|---|
|
#18+
Вот нашел себе задачу... не хотел возиться в консоли - полез в dbForge Странное дело, в дамп, как при работе в консоли, выгрузилось все как надо - VARCHAR "обрезанный" LTRIM, CHAR с RTRIM в dbForge поля выводятся как я их и редактировал "____Проверка" И !!! "_____Проффессионал____" что и вызвало смущение........ причем при сохранении CHAR с завершающими пробелами ошибку сохранения.... Вот такой прикол. дамп Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2015, 10:58:27 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=134&tid=1833100]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 285ms |

| 0 / 0 |
