[SQL] 요일과 같은 형식의 날짜
SQL요일과 같은 형식의 날짜
나는 다른 사람의 사이에 날짜 열 servdate이있는 테이블이있다.
나는 지난 주 (주 월요일부터 시작) 내에서 나에게 모든 작업을 얻기 위해 다음과 같은 쿼리를 사용 :
SELECT * FROM tb1 WHERE servdate BETWEEN date('now', 'Weekday 1', '-21 days') AND date('now')
나는 쿼리가 정확히 같은 일을 대신 주 그에 상응하는 하루로 servdate 필드를 반환합니다. 대신 "2010-11-28"예, "월요일"하십시오.
이게 가능해?
해결법
-
==============================
1.wallyk이 제안 당신은 보조 테이블을 사용할 수 있습니다; 또는 당신이 경우에 식을 사용할 수 있습니다 :
wallyk이 제안 당신은 보조 테이블을 사용할 수 있습니다; 또는 당신이 경우에 식을 사용할 수 있습니다 :
select _id, busnum, case cast (strftime('%w', servdate) as integer) when 0 then 'Sunday' when 1 then 'Monday' when 2 then 'Tuesday' when 3 then 'Wednesday' when 4 then 'Thursday' when 5 then 'Friday' else 'Saturday' end as servdayofweek from tb1 where ...
-
==============================
2.여기 CASE 미만의 입력을 포함하는 제안 ... WHEN 블록. 여기에서, 같은 하위 문자열을 추출하여 수행됩니다 :
여기 CASE 미만의 입력을 포함하는 제안 ... WHEN 블록. 여기에서, 같은 하위 문자열을 추출하여 수행됩니다 :
select substr('SunMonTueWedThuFriSat', 1 + 3*strftime('%w', timestr), 3) as dow from ...
그것은 단지지만, 대신 전체 요일 이름의 길이 약어를 고정 생산하고 있습니다. (하지만 가끔은 그의 충분.)
-
==============================
3.
SELECT _id, busnum, date_format(servdate, '%a') as servdayofweek FROM tb1 WHERE servdate BETWEEN date('now', 'Weekday 1', '-21 days') AND date('now')
이 % A는 주 단축 날입니다. 형식으로 다른 방법에 대한 설명서를 참조하십시오.
편집하다:
아차! SQLite는 태그를 간과. 위의 MySQL을위한 것입니다. SQLite는 (문서)의 경우 :
SELECT _id, busnum, strftime('%w', servdate) as servdayofweek FROM tb1 WHERE servdate BETWEEN date('now', 'Weekday 1', '-21 days') AND date('now')
6.을 통해 값을 0으로이 반환을 요일을 제외시켰다 어쩌면 좋은만큼이야?
from https://stackoverflow.com/questions/4319302/format-date-as-day-of-week by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 자동 증가는 자동 증가 필드없이 데이터베이스에 필드 (0) | 2020.06.30 |
---|---|
[SQL] 불꽃의 그룹과 시간 창을 압연을 통해 집계하는 방법 (0) | 2020.06.30 |
[SQL] 테이블에서 '다음'과 '이전'에 대한 SQL은 무엇인가? (0) | 2020.06.30 |
[SQL] 데이터베이스 디자인 질문 - 카테고리 / 하위 카테고리 (0) | 2020.06.30 |
[SQL] 어떻게 오라클 데이터베이스의 테이블의 컬럼의 모든 메타 데이터를 볼 수 있습니다? (0) | 2020.06.30 |