반응형
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
반응형
'programing' 카테고리의 다른 글
이상한 mongodb 및 mongoose 오류: 마스터 및 slaveOk=false 오류가 아닙니다. (0) | 2023.05.09 |
---|---|
POI 라이브러리를 사용하여 Excel 파일의 행 수를 가져오는 방법은 무엇입니까? (0) | 2023.05.09 |
View Model이 양식을 닫는 방법을 선택합니다. (0) | 2023.05.04 |
WPF 및 초기 초점 (0) | 2023.05.04 |
django.db.dll 파일ProgrammingError: 관계가 이미 있습니다. (0) | 2023.05.04 |