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

posta un anno fa1402 visualizzazioni
3 Risposte
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

con risposta un anno fa
AWS
ESPERTO
verificato un anno fa
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
con risposta un anno fa
AWS
ESPERTO
verificato un anno fa
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

con risposta un anno fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande