[SQL] TO_CHAR () 출력에서 빈 패딩을 제거
SQLTO_CHAR () 출력에서 빈 패딩을 제거
나는이에서보기를 생성합니다 :
create or replace view datetoday as
select to_char(dt, 'yyyy-mm-dd') as date, to_char(dt, 'Day') as weekday from
(select ('2013-03-01'::date + i) dt from generate_series(0,'2013-03-03'::date - 2013-03-01'::date)
as t(i)) as t;
그것은 나에게 텍스트 형식으로 평일 정보를 제공합니다. 그럼 내가 사용 :
select date::date, weekday::varchar from datetoday;
이제 표와 같다
2013-3-1 Friday
2013-3-2 Saturday
나는 항목을 선택하려면 :
select * from datetoday where weekday='Friday'
문자 VARYING 텍스트에서를 변경합니다.
길이가 각 단어의 길이에 따라되지 않는 고정 된 것 같다. 예를 들어 '금요일'의 경우 길이 6 수요일 길이 (9)이 있어야합니다. 어떻게 길이가 단어의 실제 길이하자,이를 변경할 수 있습니까?
나중에 내가 다른 테이블의 평일 열이 테이블의 평일 열을 비교합니다 때문입니다. 처럼
where a.weekday=b.weekday
길이가 다양하므로 다른 요일은, JSP에서 사용자로부터입니다. 길이가 고정되어 이제 비교가 실패합니다.
해결법
-
==============================
1.패턴의 날은 '빈 - 패딩 종일 일 9 개 문자를 만들고, 오른쪽에 있습니다. 패딩을 제거하기 위해 FM 템플릿 패턴 수정을 사용합니다 :
패턴의 날은 '빈 - 패딩 종일 일 9 개 문자를 만들고, 오른쪽에 있습니다. 패딩을 제거하기 위해 FM 템플릿 패턴 수정을 사용합니다 :
SELECT d::date AS day , to_char(d, 'yyyy-mm-dd') AS day_text , to_char(d, 'FMDay') AS weekday FROM generate_series('2013-03-01'::date , '2013-03-07'::date , interval '1 day') d;
또한, 타임 스탬프를위한 generate_series ()을 보여주는. 한 적은 쿼리 수준입니다. 당신이보기에 실제 날짜를해야하는 경우는 실제의 형태 날짜, 텍스트와 다시로 변환하지 않는합니다. 그리고 열 이름과 기본 유형 이름 날짜를 사용하지 마십시오. 대신 하루에 사용. 그리고 난 그냥 텍스트에 대한 텍스트를 사용합니다. VARCHAR로 변환 아무 소용이 없습니다.
from https://stackoverflow.com/questions/22242202/remove-blank-padding-from-to-char-output by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 봄 부팅 프로젝트에 SQL 쿼리, Log4jdbc과의 매개 변수 및 결과를 기록하려면? (0) | 2020.07.17 |
---|---|
[SQL] 필드에 외부 키를 리팩토링 (0) | 2020.07.17 |
[SQL] 생년월일에 제약 조건을 확인? (0) | 2020.07.17 |
[SQL] MySQL은 오류 1093 주위 방법 (0) | 2020.07.17 |
[SQL] SQL Server의 글로벌 임시 테이블 (0) | 2020.07.17 |