How to Prefix 0's in Athena Query?

0

I would like to prefix 0's for employee id column and not sure how can I do this on Athena? It appears LPAD function work differently in Athena vs Redshift.

select LPAD(CAST(employee_id As varchar),8,0) as EmployeeID

feita há um ano1404 visualizações
3 Respostas
1

I have fixed this by adding an If condition.

This is what worked for me: select IF(LENGTH(employee_id)<8,LPAD(employee_id,8,'0'),employee_id) from table1

respondido há um ano
AWS
ESPECIALISTA
avaliado há um ano
0

The third argument is expected to be a string for LPAD function - can you pelase try it like this?

select LPAD(CAST(employee_id As varchar),8,'0') as EmployeeID
AWS
Alex_T
respondido há um ano
AWS
ESPECIALISTA
avaliado há um ano
0

Thank you for your response. I tried this last night and found a problem with Lpad function. Its prefixing the 0's however, its also truncating the string if the string size is more than the size of the padding we give. Just wondering if there is any way we can avoid truncating.

select lpad(employee_id,8,'0') from table1 --> This is prefixing 0's to employee id less than 8 however its also truncating employee ids more than 8 characters.

Example: 123456 --> 00123456 123456789012 --> 12345678

respondido há um ano

Você não está conectado. Fazer login para postar uma resposta.

Uma boa resposta responde claramente à pergunta, dá feedback construtivo e incentiva o crescimento profissional de quem perguntou.

Diretrizes para responder a perguntas