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

已提問 1 年前檢視次數 1402 次
3 個答案
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

已回答 1 年前
AWS
專家
已審閱 1 年前
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
已回答 1 年前
AWS
專家
已審閱 1 年前
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

已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南