Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
MINUTES 函数操纵 TIMESTAMP,或返回两个 TIMESTAMP 值之间的分钟数。请参见下面的注释部分。
MINUTES( timestamp-expression )
MINUTES( timestamp-expression, timestamp-expression )
MINUTES( timestamp-or-time-expression, integer-expression )
timestamp-expression TIMESTAMP 类型的表达式。
timestamp-or-time-expression TIME 或 TIMESTAMP 类型的表达式。
integer-expression 要添加到 timestamp-or-time-expression 中的分钟数。如果 integer-expression 是负数,则从 timestamp-or-time-expression 中减去相应的分钟数。
具有语法 1 或语法 2 的 INTEGER。
具有语法 3 的 TIME 或 TIMESTAMP。
MINUTES 函数的结果取决于其参数。
语法 1 如果向 MINUTES 函数传递单个 timestamp-expression 值,此函数会以 INTEGER 形式返回 0000-02-29 午夜和 timestamp-expression 之间的分钟数。
0000-02-29 并不表示实际日期,它是 MINUTES 函数使用的缺省日期。
语法 2 如果向 MINUTES 函数传递两个 TIMESTAMP 值,此函数会返回它们之间的整数分钟数。
语法 3 如果向 MINUTES 函数传递一个 TIMESTAMP 值和一个 INTEGER 值,此函数将返回向 timestamp-expression 参数添加整数分钟数后的 TIMESTAMP 结果。同样,如果 MINUTES 的第一个参数为 TIME 值,结果也为 TIME 值。语法 3 不支持第一个参数的隐式转换。可能需要显式地将第一个参数转换为 DATE、TIME 或 TIMESTAMP 值。如果第一个参数为 DATE 类型,则时间部分视为午夜。
由于 MINUTES 返回整数,因此当使用语法 1 并且 TIMESTAMP 值大于等于 4083-03-23 02:08:00 时可能会发生溢出。
不使用语法 2,请使用 DATEDIFF 函数。不使用语法 3,请使用 DATEADD 函数。
SQL/2008 服务商扩充。
以下语句返回值 240,表示第二个 TIMESTAMP 值比第一个晚 240 分钟。建议使用第二个示例 (DATEDIFF)。
SELECT MINUTES( '1999-07-13 06:07:12', '1999-07-13 10:07:12' ); SELECT DATEDIFF( minute, '1999-07-13 06:07:12', '1999-07-13 10:07:12' );
以下语句返回值 1051040527。
SELECT MINUTES( '1998-07-13 06:07:12' );
以下语句返回 TIMESTAMP 值 1999-05-12 21:10:07.000。请注意,第一个参数要求显式转换文字字符串参数。建议使用第二个示例 (DATEADD)。
SELECT MINUTES( CAST( '1999-05-12 21:05:07' AS TIMESTAMP ), 5); SELECT DATEADD( minute, 5, '1999-05-12 21:05:07' );
以下语句返回 'TIME',说明通过 TIME 参数调用 MINUTES 函数时,函数会返回 TIME 值。
SELECT EXPRTYPE('SELECT MINUTES( CAST( ''13:45:00.000'' AS TIME ), 16 )', 1);