programing

postgre에서 왼쪽으로 0 채우기SQL

subpage 2023. 5. 4. 19:58
반응형

postgre에서 왼쪽으로 0 채우기SQL

저는 비교적 Postgre가 처음입니다.SQL과 저는 SQL Server에서 왼쪽에 0으로 숫자를 채우는 방법을 알고 있지만 Postgre에서 이 문제를 해결하는 데 어려움을 겪고 있습니다.SQL.

최대 자릿수가 3이고 최소값이 1인 숫자 열이 있습니다. 한 자릿수이면 왼쪽에 0이 두 개 있고, 두 자릿수이면 1이 있습니다. 예를 들어 001, 058, 123입니다.

SQL 서버에서 다음을 사용할 수 있습니다.

RIGHT('000' + cast([Column1] as varchar(3)), 3) as [Column2]

이것은 Postgre에 존재하지 않습니다.SQL입니다. 도움이 된다면 감사하겠습니다.

사용할 수 있습니다.rpad그리고.lpad숫자를 각각 오른쪽 또는 왼쪽으로 패딩하는 기능.이 방법은 숫자에 직접 적용되지 않으므로 다음을 사용해야 합니다.::char또는::text캐스팅하기:

SELECT RPAD(numcol::text, 3, '0'), -- Zero-pads to the right up to the length of 3
       LPAD(numcol::text, 3, '0')  -- Zero-pads to the left up to the length of 3
FROM   my_table

to_char()함수는 숫자 형식을 지정합니다.

select to_char(column_1, 'fm000') as column_2
from some_table;

fm접두사("채우기 모드")는 결과 막대의 선행 공백을 방지합니다.000사용할 자릿수를 간단히 정의합니다.

psql(9.3.5)도움말을 보려면 "help"를 입력합니다.

postgres=> sample_message(nr)를 (로 사용)postgres(> 값 (1), (11), (100)postgres(>)postgres-> to_char(nr, 'fm000')를 선택합니다.postgres -> sample_message에서;to_char---------001011100(3열)
postgres=>

형식 그림에 대한 자세한 내용은 설명서를 참조하십시오.
http://www.postgresql.org/docs/current/static/functions-formatting.html

아주 쉬운

SELECT lpad(42::text, 4, '0')

참조:

sqlfidle: http://sqlfiddle.com/ #!15/d41d8/3665

가장 쉬운 방법:

ltrim(to_char(Column1, '000'))

언급URL : https://stackoverflow.com/questions/26379446/padding-zeros-to-the-left-in-postgresql

반응형