형식은 SqlServer2008의 솔루션을 지원하지 않습니다.

1. 문제 설명

프로젝트는 실행할 서버에 배포되며 SQL 오류 보고는 format지원되지 않습니다.

2. 질문문의

개발 시 사용한 데이터베이스는 2012 버전이고, 프로젝트에서 배포하는 서버는 2008 버전을 사용하고 있습니다. 온라인으로 확인해 보니 2012 버전에서만 지원되던 format기능이 CONVERT2008 버전에서만 지원되는 기능으로 해결이 되었습니다.

3. 솔루션 아이디어

프로젝트 sql에서는 format(日期,"MM-dd“)시간 형식이 월-일 형식으로 되어 있는데, 이는 2008 버전에서 수정되었습니다 SUBSTRING(CONVERT(VARCHAR(20),日期,23),6,5). 즉, CONVERT(VARCHAR(20),日期,23)날짜 형식은 숫자 23, 형식 23은 yyyy-mm-dd입니다. 그 외의 번호는 공식 문서( 포털 ) 를 참고하시기 바랍니다 .
그런 다음 SUBSTRING 함수를 사용하여 필요한 mm-dd 부분을 가로챕니다.

참조 SQL:

select
 SUBSTRING(CONVERT(VARCHAR(20),login_time,23),6,5) login_time
from sys_logininfor 
where login_time>dateadd(day, -30, GETDATE()) 
GROUP BY SUBSTRING(CONVERT(VARCHAR(20),login_time,23),6,5)  
order by SUBSTRING(CONVERT(VARCHAR(20),login_time,23),6,5) 

Guess you like

Origin blog.csdn.net/weixin_44223509/article/details/132534615