завершать с пустыми местами

у меня есть эта таблица в Mysql:

introducir la descripción de la imagen aquí

Я нуждаюсь в том, чтобы завершить с пустыми местами до того, чтобы прибывать в 5 символов, только он применился бы для тех ссылок, у которых не есть более чем 5 символов, у меня есть этот query:

tep_db_query("update ".TABLE." set referencia = '??' where CHAR_LENGTH(referencia) =4");

tep_db_query("update ".TABLE." set referencia = '??' where CHAR_LENGTH(referencia) =3"); 

tep_db_query("update ".TABLE." set referencia = '??' where CHAR_LENGTH(referencia) =2");

tep_db_query("update ".TABLE." set referencia = '??' where CHAR_LENGTH(referencia) =1");

что я должен осуществлять инструкцию в set ссылка для того, чтобы update pinte этот результат:

introducir la descripción de la imagen aquí

Те, которые превосходящие или равны 5 символам, остаются равным, только применись к самым меньшим 5 символов.

0
задан 06.11.2019, 11:09
2 ответа

Я не могу тестировать это сейчас, но посмотри посмотрим ты функционирует используя ее funciГіn LPAD: https://dev.mysql.com / doc / refman / 5.7 / в / string-functions.html#function_lpad

tep_db_query("update ".TABLE." set referencia = LPAD(referencia, 5, '0') where CHAR_LENGTH(referencia) =4");

Она funciГіn допускает как parГЎmetros цепь, nГєmero символов, чтобы он был должен иметь, как mГ-nimo вытекающая цепь, и carГЎcter, чтобы наполнять из-за левой стороны в случае, если у него будет меньше символов, чем они просятся. В твоем случае ты хочешь 5 символов mГ-nimo и наполнить с характером '0'.

Другая opciГіn, что у тебя есть, если ты можешь изменять структуру таблицы, он состоит в том, чтобы помечать колонну снабжает ссылками как целое число и модификатор ZEROFILL. Г‰chale беглый взгляд в это, если он может интересовать или нет тебя: https://dev.mysql.com/doc/refman/5.7/en/numeric-type-attributes.html

1
ответ дан 01.12.2019, 12:35

Перед aГ±adirlo в базу данных, ты он можешь форматировать в nГєmero с mГ©todo str_pad. SerГ - во что-то asГ-:

$number = 5;
$numberFormat = str_pad($number, 2, "0", STR_PAD_LEFT);  // Salida: "005"
  • ParГЎmetro 1: твоя переменная с nГєmero.
  • ParГЎmetro 2: nГєmero раз, которые будут повторять третий parГЎmetro.
  • ParГЎmetro 3: характер, который будет повторять так часто как определенное в parГЎmetro 2.
  • ParГЎmetro 4: она orientaciГіn наполнения: в левую сторону, правую сторону...
0
ответ дан 01.12.2019, 12:35

Теги

Похожие вопросы