начальный 0 не отображается в результате таблицы mysql

#php #mysql

#php #mysql

Вопрос:

просто объединение двух значений в один столбец в таблице mysql. Первое значение из таблицы mysql и второе значение из константы PHP, сохраненные как define('ACCOUNTCODESUFFIX','016'); .

Запрос MySQL выглядит примерно так

 SELECT CONCAT_WS(' ', mbrs.firstname, mbrs.lastname) AS fullname, 
       CONCAT_WS('-',gl.code, '.ACCOUNTCODESUFFIX.') AS code 
FROM allTbls 
    INNER JOIN generalledgertbl gl ON (allTbls.claim_type=gl.claimtype 
                                AND allTbls.claim_category=gl.claimtitle 
                                AND allTbls.claimoption=gl.claimoption)
  

Вывод:

 fullname |  code

name1 | 12345-16

name2 | 23456-16
  

Как получить подобный вывод без использования LPAD()

 fullname |  code

name1 | 12345-016

name2 | 23456-016
  

Ответ №1:

Это сделает это, и без всего этого экранирования, которое, вероятно, вызывает путаницу

 define('ACCOUNTCODESUFFIX','016');

$sql = "SELECT CONCAT_WS(' ', mbrs.firstname, mbrs.lastname) AS fullname, 
       CONCAT_WS('-',gl.code, '" . ACCOUNTCODESUFFIX . "') AS code 
        FROM allTbls 
            INNER JOIN generalledgertbl gl ON (allTbls.claim_type=gl.claimtype 
                                AND allTbls.claim_category=gl.claimtitle 
                                AND allTbls.claimoption=gl.claimoption)";

echo $sql;
  

Результат:

 SELECT CONCAT_WS(' ', mbrs.firstname, mbrs.lastname) AS fullname, 
       CONCAT_WS('-',gl.code, '016') AS code 
        FROM allTbls 
            INNER JOIN generalledgertbl gl ON (allTbls.claim_type=gl.claimtype 
                                AND allTbls.claim_category=gl.claimtitle 
                                AND allTbls.claimoption=gl.claimoption)
  

Комментарии:

1. Вы модные штаны, вы.

2. Они довольно необычные, спасибо, что заметили. @Fred-ii-