database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 1394 게시물 읽기
No. 1394
월초 월말 구하기 날짜 함수이용
작성자
황대권(sufi1)
작성일
2004-06-25 15:26ⓒ
2004-06-25 15:27ⓜ
조회수
7,622

-- 현재 달의 월 초구하기
SELECT CAST(DATENAME(yyyy, getdate()) AS char(4)) + '-' + CAST(DATENAME(mm, getdate()) AS Char(2)) + '-01'

 

 

 

-- 다음달의 월초구하기
SELECT CAST(DATENAME(yyyy, getdate()) AS char(4)) + '-' + CAST(DATENAME(mm, DATEADD(mm, 1, getdate())) AS Char(2)) + '-01'


--월말 구하기 SELECT DATEADD(day, -1, '2004-06-01') 이용
SELECT DATEADD(day, -1, CAST(DATENAME(yyyy, getdate()) AS char(4)) + '-' + CAST(DATENAME(mm, DATEADD(mm, 1, getdate())) AS Char(2)) + '-01')

 

 

뭐 이렇게 구했는데 더 간단한 방법이 없는지 있으면 한수 부탁합니다...

 


이 글에 대한 댓글이 총 1건 있습니다.

위에서 작성하신에서 년도/월을 따로구하는것보다 한번에 가져와서 바꾸는것이 더 정확하지 않을까 하는 생각이 드네요

그리고 DATENAME을 사용하면 서버설정에 따라 숫자가 아닌 영문명으로 가져올 경우가 있습니다. MSSQL70에서는 형식을 바꿔야 하고요

아래와 같이 하면 날짜 한번만 사용하고 버전에도 문제가 없습니다.


-- 현재 달의 월 초구하기
 SELECT CONVERT(CHAR(6), GETDATE(), 112) + '01'

 

-- 다음달의 월초구하기
 SELECT CONVERT(CHAR(6), DATEADD(month, 1, GETDATE()), 112) + '01'

 

--월말 구하기 SELECT DATEADD(day, -1, '2004-06-01') 이용
 SELECT CONVERT(CHAR(8), DATEADD(day, -1, CONVERT(CHAR(6), DATEADD(month, 1, GETDATE()), 112) + '01'), 112)


 

전진수(comang77)님이 2004-07-09 17:44에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1397freetds사용하여 php에서 win2000서버의 mssql 연결하기
장영학
2004-06-28
3071
1396FreeTDS ODBC 연결하는 법 가르쳐주세요
이대범
2004-06-27
2855
1395사용자정의 함수로 시작일 마지막일 알기 [1]
황대권
2004-06-25
3785
1394월초 월말 구하기 날짜 함수이용 [1]
황대권
2004-06-25
7622
1393[질문]합계 값이 매번 바뀝니다...ㅠ.ㅠ 쿼리문이 이상한가요..? [2]
정해원
2004-06-25
3429
1392[질문]쿼리문 좀 알려주세요. [1]
가우나라
2004-06-24
2602
1390제발 답변 좀...ㅜ.ㅜ
초보
2004-06-24
2526
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다