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 年前1404 查看次数
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 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则