MICROSECOND 标量函数 (scalar function)

微秒(MICROSECOND)函数用于返回一个值的微秒部分。

阅读语法图跳过可视化语法图MICROSECOND( 表达式)

该模式是 SYSIBM。

表达式必须返回以下内置数据类型之一:时间戳、字符串、图形字符串或数字数据类型。

  • 如果表达式是一个字符串或图形字符串,则它不能是CLOB或DBCLOB,其值必须是一个有效的时间戳字符串表示形式,实际长度不能超过255字节。 有关时间和时间戳字符串表示的有效格式,请参阅日期时间值的字符串表示
  • 如果表达是一个数字,那么它必须是一个时间戳持续时间。 有关时间戳持续时间的有效格式,请参阅日期时间操作数

如果表达式是带时区的时间戳,或者带时区的有效时间戳字符串表示形式,则结果由日期时间值的 UTC 表示形式确定。

函数的结果是一个大整数。

结果可以为空值;如果参数为空值,那么结果为空值。

其他规则取决于参数的数据类型:

  • 如果参数是时间戳或时间戳的字符串表示形式,则结果为该值的微秒部分,即0-999999范围内的整数。 如果时间戳的精度超过6,则数值会被截断。
  • 如果参数是持续时间,则结果为该值的微秒部分,即介于-999999和999999之间的整数。 非零结果与参数具有相同的符号。
示例1 :假设TABLEX表包含一个名为TSTMPCOL的TIMESTAMP列和一个名为INTCOL的SMALLINT列。 选择INTCOL值为1234的行的TSTMPCOL列中的微秒部分:
   SELECT MICROSECOND(TSTMPCOL) FROM TABLEX
     WHERE INTCOL = 1234;
示例2: 以下对MICROSECOND函数的调用返回相同的结果:
SELECT MICROSECOND('2003-01-02-20.00.00.123456'), 
			MICROSECOND('2003-01-02-12.00.00.123456-08:00'), 
			MICROSECOND('2003-01-03-05.00.00.123456+09:00') 
		FROM SYSIBM.SYSDUMMY1;
对于SELECT语句中MICROSECOND函数的每次调用,结果都是123456。

当输入参数包含时区时,结果由输入值的UTC表示法决定。 在SELECT语句中,带有时区的字符串时间戳的表示形式都具有相同的UTC表示形式: 2003-01-02-20.00.00.123456。