2013-02-23 4 views
0

У меня есть столбец внутри базы данных, которую я использую вызванный last_count, который заполнен int. Номер имеет основной формат большого количества 0, а затем фактическое число (например, 000001489). Мне нужно избавиться от нулей перед номером, а затем отобразить их в таблице, сгенерированной из запроса: выберите last_count, query, job_id из twitterinblack46.job, где job_id в ('. $ Job_id_all.') Order by last_count desc; 'Как удалить ведущие нули?

Я искал preg_replace, но затем он также удалил другие нули (например, если номер был 00001480, он повторил 148 вместо 1480). Я использую php.

+0

Из любопытства ... почему последнее значение заполнено нулями? –

+0

Я не уверен, у меня есть доступ к базе данных. Я не создал его. – Pstivala7

ответ

1

Проще всего сделать это, чтобы привести значение как целое:

select cast(col as int) 

Это покажет число без ведущих нулей.

Если требуется значение в виде строки, вы можете привести его обратно в VARCHAR:

select cast(cast col as int) as varchar(255)) 
+0

Есть ли способ сделать это через php, а не на другой sql-запрос, потому что в моем запросе, который я пытаюсь отобразить, уже отображаются три других столбца. – Pstivala7

+0

@ Pstivala7. , , Просто замените столбец в вашем запросе выражением 'cast (cast as int) как varchar (255)) как ' где '' - это имя конкретного столбца. –

1

Как насчет этого?

preg_match("/[^0].*/",$number, $matches); 
echo $matches[0]; 
+0

Правильно работать практически во всех случаях, но если заданное число равно 0 или отрицательное, оно возвращает пустую строку и абсолютное значение отрицательного числа соответственно –

Смежные вопросы