최소 날짜를 반환하는 SQL Server 함수 (1753 년 1 월 1 일)
날짜 시간의 최소값, 즉 1753 년 1 월 1 일을 반환하는 SQL Server 함수를 찾고 있습니다. 해당 날짜 값을 스크립트에 하드 코딩하지 않고 싶습니다.
그런 것이 있습니까? (비교를 위해 C #에서는 그냥 할 수 DateTime.MinValue)
있거나 직접 작성해야합니까?
Microsoft SQL Server 2008 Express를 사용하고 있습니다.
다음 과 같이 최소 날짜 값을 반환 하는 사용자 정의 함수 를 작성할 수 있습니다 .
select cast(-53690 as datetime)
그런 다음 스크립트에서 해당 기능을 사용하고 변경해야하는 경우이를 수행 할 수있는 곳은 한 곳뿐입니다.
또는 더 나은 가독성을 위해 선호하는 경우이 쿼리를 사용할 수 있습니다.
select cast('1753-1-1' as datetime)
예제 기능
create function dbo.DateTimeMinValue()
returns datetime as
begin
return (select cast(-53690 as datetime))
end
용법
select dbo.DateTimeMinValue() as DateTimeMinValue
DateTimeMinValue
-----------------------
1753-01-01 00:00:00.000
당신은 본 적이 SqlDateTime 개체를 ? SqlDateTime.MinValue
최소 날짜를 얻으려면 사용 하십시오 (1753 년 1 월 1 일).
평판 포인트가 불충분하여 받아 들여진 답변에 대해 댓글을 달 수 없어 댓글로 답장이 나옵니다.
select cast('1753-1-1' as datetime)
YYYY-MM-DD 형식의 날짜 문자열을 허용하지 않는 지역 설정으로 데이터베이스에서 실행하면를 사용하면 실패합니다.
대신 지정된 datetime 형식과 함께 select cast(-53690 as datetime)
또는 a Convert
를 사용하십시오 .
'yyyymmdd'
지역 문제를 방지 하려면 날짜를 기본 값으로 입력하십시오 .
select cast('17530101' as datetime)
예, TSQL에 MinDate() = '00010101'
.하지만 그러한 운 이 없다면 좋을 것 입니다.
1753 년 1 월 1 일이 아니지만 cast ( ''as datetime)를 선택하면 다음과 같이 표시됩니다. 1900-01-01 00 : 00 : 00.000은 SQL 서버에서 기본값을 제공합니다. (어쨌든 나에게는 더 초기화되지 않은 것 같습니다)
다음은 최소 날짜 값을 얻는 빠르고 읽기 쉬운 방법입니다.
함수 만들기
CREATE FUNCTION MinDate()
RETURNS DATETIME
AS
BEGIN
RETURN CONVERT(DATETIME, -53690)
END
함수 호출
dbo.MinDate()
예 1
PRINT dbo.MinDate()
예 2
PRINT 'The minimimum date allowed in an SQL database is ' + CONVERT(VARCHAR(MAX), dbo.MinDate())
예제 3
SELECT * FROM Table WHERE DateValue > dbo.MinDate()
예 4
SELECT dbo.MinDate() AS MinDate
예 5
DECLARE @MinDate AS DATETIME = dbo.MinDate()
SELECT @MinDate AS MinDate
The range for datetime
will not change, as that would break backward compatibility. So you can hard code it.
This is what I use to get the minimum date in SQL Server. Please note that it is globalisation friendly:
CREATE FUNCTION [dbo].[DateTimeMinValue]()
RETURNS datetime
AS
BEGIN
RETURN (SELECT
CAST('17530101' AS datetime))
END
Call using:
SELECT [dbo].[DateTimeMinValue]()
'developer tip' 카테고리의 다른 글
제약 조건 변경을 애니메이션하려면 어떻게합니까? (0) | 2020.09.28 |
---|---|
이 활동에는 Theme.AppCompat 테마 (또는 하위 항목)를 사용해야합니다. (0) | 2020.09.28 |
개체 목록에 특정 속성 값을 가진 개체가 포함되어 있는지 확인 (0) | 2020.09.25 |
redis-py : StrictRedis ()와 Redis ()의 차이점은 무엇입니까? (0) | 2020.09.25 |
extract-text-webpack-plugin React를 사용할 때 창 정의되지 않음 오류 (0) | 2020.09.25 |