1. DB2函数大全
  2. 函数名
  3. 函数解释 函数举例
  4. AVG()
  5. 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS;
  6. CORR(),CORRELATION()
  7. 返回一对数值的关系系数.
  8. SELECT CORRELATION(SALARY,BONUS)FROM BSEMPMS;
  9. COUNT()
  10. 返回一组行或值的个数.SELECTCOUNT(*)FROMBSEMPMS;
  11. COVAR(),COVARIANCE()
  12. 返回一对数值的协方差.
  13.   SELECTCOVAR(SALARY,BONUS)FROMBSEMPMS;
  14. MAX()
  15. 返回一组数值中的最大值.
  16.   SELECTMAX(SALARY)FROMBSEMPMS;
  17. MIN()
  18. 返回一组数值中的最小值.
  19.   SELECTMIN(SALARY)FROMBSEMPMS;
  20. STDDEV()
  21. 返回一组数值的标准偏差.
  22.   SELECTSTDDEV(SALARY)FROMBSEMPMS;
  23. SUM()
  24. 返回一组数据的和.
  25.   SELECTSUM(SALARY)FROMBSEMPMS;
  26. VAR(),VARIANCE()
  27. 返回一组数值的方差.
  28.   SELECTVARIANCE(SALARY)FROMBSEMPMS;
  29. ABS(),ABSVAL()
  30. 返回参数的绝对值.
  31.   SELECTABS(-3.4)FROMBSEMPMS;
  32. ACOS()
  33. 返回参数的反余弦值.
  34.   SELECTACOS(0.9)FROMBSEMPMS;
  35. ASCII()
  36. 返回整数参数最左边的字符的ASCII码.  SELECTASCII('R')FROMBSEMPMS;
  37. ASIN()
  38. 返回用弧度表示的角度的参数的反正弦函数.  SELECTASIN(0.9)FROMBSEMPMS;
  39. ATAN()
  40. 返回参数的反正切值,该参数用弧度表示的角度的参数.  SELECTATAN(0.9)FROMBSEMPMS;
  41. ATAN2()
  42. 返回用弧度表示的角度的XY坐标的反正切值.  SELECTATAN2(0.5,0.9)FROMBSEMPMS;
  43. BIGINT()
  44. 返回整型常量中的数字或字符串的64位整数表示
  45. SELECTBIGINT(EMP_NO)FROMBSEMPMS;
  46. CEILING() OR CEIL()
  47. 返回比参数大或等于参数的最小的整数值
  48. CHAR()
  49. 返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示. SELECTCHAR(SALARY,',')FROMBSEMPMS;
  50. CHR()
  51. 返回具有由参数指定的ASCII码的字符
  52. SELECTCHAR(167)FROMBSEMPMS;
  53. CONCAT()
  54. 返回两个字符串的连接.
  55. SELECTCONCAT(EMP_NO,EMP_NAM)FROMBSEMPMS;
  56. YEAR()
  57. 返回数值的年部分.SELECTYEAR('2003/01/02')FROMBSEMPMS;
  58. VARCHAR()
  59. 返回字符串,日期型,图形串的可变长度的字符串表示
  60. SELECTVARCHAR(EMP_NAM,50)FROMBSEMPMS;
  61. UCASE() OR UPPER()
  62. 返回字符串的大写
  63. TRUNCATE() OR TRUNC()
  64. 从表达式小数点右边的位置开始截断并返回该数值.
  65. SELECTTRUNCATE(345.6789,2)FROMBSEMPMS;
  66. TIME()
  67. 返回一个数值中的时间
  68. SELECTTIME('2001-03-19.12.30.123456')FROMBSEMPMS;
  69. SUBSTR(EXP1,EXP2)
  70. 返回EXP1串自EXP2处开始的子串.
  71. SQRT()
  72. 返回该参数的平方根.SELECTSQRT(36)FROMBSEMPMS;
  73. SPACE()
  74. 返回由参数指定的长度,包含空格在内的字符串.SELECTSPACE(10)FROMBSEMPMS;
  75. SECOND()
  76. 返回一个数值的秒部分.SELECTSECOND('18:34:32')FROMBSEMPMS;
  77. RTRIM()
  78. 删除字符串尾部的空格.
  79.   SELECTRTRIM('COMMENT')FROMBSEMPMS;
  80. ROUND(EXP1,EXP2)
  81. 返回EXP1小数点右边的第EXP2位置处开始的四舍五入值.
  82.   SELECTROUND(2345.6789,2)FROMBSEMPMS
  83. REPLACE(EXP1,EXP2,EXP3)
  84. EXP3替代EXP1中所有的EXP2
  85. SELECTCHAR(REPLACE('ROMANDD','NDD','CCB'),10)
  86. FROMBSEMPMS;
  87. REPEAT(EXP1,EXP2)
  88. 返回EXP1重复EXP2次后的字符串.
  89. SELECTCHAR(REPEAT('REPEAT',3),21)FROMBSEMPMS;
  90. REAL()
  91. 返回一个数值的单精度浮点数表示.
  92.   SELECTREAL(10)FROMBSEMPMS;
  93. RAND()
  94. 返回01之间的随机浮点数.SELECTRAND()FROMBSEMPMS;
  95. POWER(EXP1,EXP2)
  96. 返回EXP1EXP2次幂.SELECTPOWER(2,5)FROMBSEMPMS;
  97. POSSTR(EXP1,EXP2)
  98. 返回EXP2EXP1中的位置.SELECT('ABCDEFGH','D')FROMBSEMPMS;
  99. NULLIF(EXP1,EXP2)
  100. 如果EXP1=EXP2,则为NULL,否则为EXP1
  101. NODENUMBER()
  102. 返回行的分区号.SELECTNODENUMBER(EMP_NO)FROMBSEMPMS;
  103. MONTH()
  104. 返回一个数值的月部分.SELECTMONTH('2003/10/20')FROMBSEMPMS;
  105. MOD(EXP1,EXP2)
  106. 返回EXP1除以EXP2的余数.SELECTMOD(20,8)FROMBSEMPMS
  107. MINUTE()
  108. 返回一个数值的分钟部分.
  109.   SELECTMINUTE('18:34:23')FROMBSEMPMS;
  110. LTRIM()
  111. 删除字符串前面的空格.SELECTLTRIM('CDDD')FROMBSEMPMS;
  112. HOUR()
  113. 返回一个数值的小时部分.
  114.   SELECTHOUR('18:34:23')FROMBSEMPMS;
  115. DOUBLE()
  116. 如果参数是一个数字表达式,返回与其相对应的浮点数,如果参数是字符串表达式,则返回该数的字符串表达式.
  117.   SELECTDOUBLE('5678')FROMBSEMPMS;
  118. EXP()
  119. 返回参数的指数函数.SELECTEXP(2)FROMBSEMPMS;
  120. FLOAT()
  121. 返回一个数的浮点表示.SELECTFLOAT(789)FROMBSEMPMS;
  122. FLOOR()
  123. 返回小于或等于参数的最大整数.SLECTFLOOR(88.93)FROMBSEMPMS;
  124. HEX()
  125. 返回一个表示为字符串的值的16进制表示.
  126. SELECTHEX(16)FROMBSEMPMS;
  127. DAYNAME
  128. 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。
  129. DAYOFWEEK
  130. 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期日。
  131. DAYOFWEEK_ISO
  132. 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期一。
  133. DAYOFYEAR
  134. 返回参数中一年中的第几天,用范围在1-366 的整数值表示。
  135. DAYS
  136. 返回日期的整数表示。
  137. JULIAN_DAY
  138. 返回从公元前4712 1 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。
  139. MIDNIGHT_SECONDS
  140. 返回午夜和参数中指定的时间值之间的秒数,用范围在0 86400 之间的整数值表示。
  141. MONTHNAME
  142. 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。
  143. TIMESTAMP_ISO
  144. 根据日期、时间或时间戳记参数而返回一个时间戳记值。
  145. TIMESTAMP_FORMAT
  146. 从已使用字符模板解释的字符串返回时间戳记。
  147. TIMESTAMPDIFF
  148. 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。
  149. TO_CHAR
  150. 返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR VARCHAR_FORMAT 的同义词。
  151. TO_DATE
  152. 从已使用字符模板解释过的字符串返回时间戳记。TO_DATE TIMESTAMP_FORMAT 的同义词。
  153. WEEK
  154. 返回参数中一年的第几周,用范围在1-54 的整数值表示。以星期日作为一周的开始。
  155. WEEK_ISO
  156. 返回参数中一年的第几周,用范围在1-53 的整数值表示。
  157.  
  158. 要使当前时间或当前时间戳记调整到GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器:
  159. current time - current timezone
  160. current timestamp - current timezone
  161.  
  162. 给定了日期、时间或时间戳记,则使用适当的函数可以单独抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分:
  163. YEAR (current timestamp)
  164. MONTH (current timestamp)
  165. DAY (current timestamp)
  166. HOUR (current timestamp)
  167. MINUTE (current timestamp)
  168. SECOND (current timestamp)
  169. MICROSECOND (current timestamp)
  170.  
  171. 因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算:
  172. current date + 1 YEAR
  173. current date + 3 YEARS + 2 MONTHS + 15 DAYS
  174. current time + 5 HOURS - 3 MINUTES + 10 SECONDS
  175.  
  176. 从时间戳记单独抽取出日期和时间也非常简单:
  177. DATE (current timestamp)
  178. TIME (current timestamp)
  179.  
  180. 而以下示例描述了如何获得微秒部分归零的当前时间戳记:
  181.  
  182. CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS
  183.  
  184. 如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。为此,只要使用CHAR() 函数:
  185.  
  186. char(current date)
  187. char(current time)
  188. char(current date + 12 hours)
  189.  
  190. 要将字符串转换成日期或时间值,可以使用:
  191.  
  192. TIMESTAMP ('2002-10-20-12.00.00.000000')
  193. TIMESTAMP ('2002-10-20 12:00:00')
  194. DATE ('2002-10-20')
  195. DATE ('10/20/2002')
  196. TIME ('12:00:00')
  197. TIME ('12.00.00')
  198.  
  199. TIMESTAMP()、DATE() TIME() 函数接受更多种格式。上面几种格式只是示例,我将把它作为一个练习,让读者自己去发现其它格式。
  200.  
  201. 有时,您需要知道两个时间戳记之间的时差。为此,DB2 提供了一个名为TIMESTAMPDIFF() 的内置函数。但该函数返回的是近似值,因为它不考虑闰年,而且假设每个月只有30 天。以下示例描述了如何得到两个日期的近似时差:
  202.  
  203. timestampdiff (<n>, char(
  204. timestamp('2002-11-30-00.00.00')-
  205. timestamp('2002-11-08-00.00.00')))
  206.  
  207. 对于<n>,可以使用以下各值来替代,以指出结果的时间单位:
  208.  
  209. 1 = 秒的小数部分
  210. 2 =
  211. 4 =
  212. 8 =
  213. 16 =
  214. 32 =
  215. 64 =
  216. 128 = 季度
  217. 256 =
  218. 当日期很接近时使用timestampdiff() 比日期相差很大时精确。如果需要进行更精确的计算,可以使用以下方法来确定时差(按秒计):
  219.  
  220. (DAYS(t1) - DAYS(t2)) * 86400 +
  221. (MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))
  222.  
  223. 为方便起见,还可以对上面的方法创建SQL 用户定义的函数:
  224.  
  225. CREATE FUNCTION secondsdiff(t1 TIMESTAMP, t2 TIMESTAMP)
  226. RETURNS INT
  227. RETURN (
  228. (DAYS(t1) - DAYS(t2)) * 86400 +
  229. (MIDNIGHT_SECONDS(t1) - MIDNIGHT_SECONDS(t2))
  230. )
  231. @
  232.  
  233. 如果需要确定给定年份是否是闰年,以下是一个很有用的SQL 函数,您可以创建它来确定给定年份的天数:
  234.  
  235. CREATE FUNCTION daysinyear(yr INT)
  236. RETURNS INT
  237. RETURN (CASE (mod(yr, 400)) WHEN 0 THEN 366 ELSE
  238. CASE (mod(yr, 4)) WHEN 0 THEN
  239. CASE (mod(yr, 100)) WHEN 0 THEN 365 ELSE 366 END
  240. ELSE 365 END
  241. END)@
  242.  
  243. 最后,以下是一张用于日期操作的内置函数表。它旨在帮助您快速确定可能满足您要求的函数,但未提供完整的参考。有关这些函数的更多信息,请参考SQL 参考大全。
  244.  
  245. SQL 日期和时间函数
  246. DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。
  247. DAYOFWEEK 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期日。
  248. DAYOFWEEK_ISO 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期一。
  249. DAYOFYEAR 返回参数中一年中的第几天,用范围在1-366 的整数值表示。
  250. DAYS 返回日期的整数表示。
  251. JULIAN_DAY 返回从公元前4712 1 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。
  252. MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在0 86400 之间的整数值表示。
  253. MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。
  254. TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。
  255. TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。
  256. TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。
  257. TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR VARCHAR_FORMAT 的同义词。
  258. TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。TO_DATE TIMESTAMP_FORMAT 的同义词。
  259. WEEK 返回参数中一年的第几周,用范围在1-54 的整数值表示。以星期日作为一周的开始。
  260. WEEK_ISO 返回参数中一年的第几周,用范围在1-53 的整数值表示。
  261. db2日期操作函数
  262. db2日期操作函数
  263. 当前时间:
  264. CURRENT DATE
  265. CURRENT TIME
  266. CURRENT TIMESTAMP
  267. 获取时间的年、月、日、时、分、秒及微秒各部分:
  268. YEAR (current timestamp)
  269. MONTH (current timestamp)
  270. DAY (current timestamp)
  271. HOUR (current timestamp)
  272. MINUTE (current timestamp)
  273. SECOND (current timestamp)
  274. MICROSECOND (current timestamp)
  275. 时间的加减:
  276. current date + 1 YEAR
  277. current date + 3 YEARS + 2 MONTHS + 15 DAYS
  278. current time + 5 HOURS - 3 MINUTES + 10 SECONDS
  279. 要计算两个日期之间的天数,您可以对日期作减法:
  280. days (current date) - days (date('1999-10-22'))
  281. 时间转换为字符串:
  282. char(current date)
  283. 字符串转换成时间:
  284. TIMESTAMP()、DATE() TIME(), 支持的字符串格式需要参考帮助, 没有oracleto_date灵活
  285. Data('2005-01-01')
  286. 日期和时间的一些函数:
  287. DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。
  288. DAYOFWEEK 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期日。
  289. DAYOFWEEK_ISO 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期一。
  290. DAYOFYEAR 返回参数中一年中的第几天,用范围在1-366 的整数值表示。
  291. DAYS 返回日期的整数表示。
  292. JULIAN_DAY 返回从公元前4712 1 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。
  293. MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在0 86400 之间的整数值表示。
  294. MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。
  295. TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。
  296. TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。
  297. TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。
  298. TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR VARCHAR_FORMAT 的同义词。
  299. TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。TO_DATE TIMESTAMP_FORMAT 的同义词。
  300. WEEK 返回参数中一年的第几周,用范围在1-54 的整数值表示。以星期日作为一周的开始。
  301. WEEK_ISO 返回参数中一年的第几周,用范围在1-53 的整数值表示。
  302. 因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算:
  303.  
  304. current date + 1 YEAR
  305. current date + 3 YEARS + 2 MONTHS + 15 DAYS
  306. current time + 5 HOURS - 3 MINUTES + 10 SECONDS
  307.  
  308. 要计算两个日期之间的天数,您可以对日期作减法,如下所示:
  309.  
  310. days (current date) - days (date('1999-10-22'))
  311.  
  312. 而以下示例描述了如何获得微秒部分归零的当前时间戳记:
  313.  
  314. CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS
  315.  
  316. 如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。为此,只要使用CHAR() 函数:
  317.  
  318. char(current date)
  319. char(current time)
  320. char(current date + 12 hours)
  321.  
  322. 要将字符串转换成日期或时间值,可以使用:
  323.  
  324. TIMESTAMP ('2002-10-20-12.00.00.000000')
  325. TIMESTAMP ('2002-10-20 12:00:00')
  326. DATE ('2002-10-20')
  327. DATE ('10/20/2002')
  328. TIME ('12:00:00')
  329. TIME ('12.00.00')
  330.  
  331. 如果你想将当前日期格式转化成定制的格式(比如‘yyyymmdd’),那又该如何去做呢?按照我的经验,最好的办法就是编写一个自己定制的格式化函数。
  332.  
  333. 下面是这个UDF 的代码:
  334.  
  335. create function ts_fmt(TS timestamp, fmt varchar(20))
  336. returns varchar(50)
  337. return
  338. with tmp (dd,mm,yyyy,hh,mi,ss,nnnnnn) as
  339. (
  340. select
  341. substr( digits (day(TS)),9),
  342. substr( digits (month(TS)),9) ,
  343. rtrim(char(year(TS))) ,
  344. substr( digits (hour(TS)),9),
  345. substr( digits (minute(TS)),9),
  346. substr( digits (second(TS)),9),
  347. rtrim(char(microsecond(TS)))
  348. from sysibm.sysdummy1
  349. )
  350. select
  351. case fmt
  352. when 'yyyymmdd'
  353. then yyyy || mm || dd
  354. when 'mm/dd/yyyy'
  355. then mm || '/' || dd || '/' || yyyy
  356. when 'yyyy/dd/mm hh:mi:ss'
  357. then yyyy || '/' || mm || '/' || dd || ' ' ||
  358. hh || ':' || mi || ':' || ss
  359. when 'nnnnnn'
  360. then nnnnnn
  361. else
  362. 'date format ' || coalesce(fmt,' ') ||
  363. ' not recognized.'
  364. end
  365. from tmp
  366.  
  367. 建议找一个DB2基础的东东看看,比在这里问快多了,虽然别人找的时候也快!!
  368. SQL 日期和时间函数
  369. DAYNAME 返回一个大小写混合的字符串,对于参数的日部分,用星期表示这一天的名称(例如,Friday)。
  370. DAYOFWEEK 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期日。
  371. DAYOFWEEK_ISO 返回参数中的星期几,用范围在1-7 的整数值表示,其中1 代表星期一。
  372. DAYOFYEAR 返回参数中一年中的第几天,用范围在1-366 的整数值表示。
  373. DAYS 返回日期的整数表示。
  374. JULIAN_DAY 返回从公元前4712 1 1 日(儒略日历的开始日期)到参数中指定日期值之间的天数,用整数值表示。
  375. MIDNIGHT_SECONDS 返回午夜和参数中指定的时间值之间的秒数,用范围在0 86400 之间的整数值表示。
  376. MONTHNAME 对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。
  377. TIMESTAMP_ISO 根据日期、时间或时间戳记参数而返回一个时间戳记值。
  378. TIMESTAMP_FORMAT 从已使用字符模板解释的字符串返回时间戳记。
  379. TIMESTAMPDIFF 根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。
  380. TO_CHAR 返回已用字符模板进行格式化的时间戳记的字符表示。TO_CHAR VARCHAR_FORMAT 的同义词。
  381. TO_DATE 从已使用字符模板解释过的字符串返回时间戳记。TO_DATE TIMESTAMP_FORMAT 的同义词。
  382. WEEK 返回参数中一年的第几周,用范围在1-54 的整数值表示。以星期日作为一周的开始。
  383. WEEK_ISO 返回参数中一年的第几周,用范围在1-53 的整数值表示。
  384.  
  385. --------------------------------------------------------------------------------
  386. mymm 回复于:2003-08-04 14:22:38
  387. Example:
  388.  
  389. YEAR (current timestamp)
  390. MONTH (current timestamp)
  391. DAY (current timestamp)
  392. HOUR (current timestamp)
  393. MINUTE (current timestamp)
  394. SECOND (current timestamp)
  395. MICROSECOND (current timestamp)
  396.  
  397. 引用:
  398. mymm 回复于:2003-08-08 17:01:11
  399. DAYS函数返回日期的整数表示。
  400.  
  401. 要计算两个日期之间的天数,可以:
  402. days (current date) - days (date('2000-9-1'))
  403. 要使用 SQL 获得当前的日期、时间及时间戳记,请参考适当的DB2 寄存器:
  404.  
  405. SELECT current date FROM sysibm.sysdummy1
  406. SELECT current time FROM sysibm.sysdummy1
  407. SELECT current timestamp FROM sysibm.sysdummy1
  408.  
  409. sysibm.sysdummy1 表是一个特殊的内存中的表,用它可以发现如上面演示的DB2 寄存器的值。您也可以使用关键字VALUES 来对寄存器或表达式求值。例如,在DB2 命令行处理器(Command Line ProcessorCLP)上,以下SQL 语句揭示了类似信息:
  410.  
  411. VALUES current date
  412. VALUES current time
  413. VALUES current timestamp
  414.  
  415. 在余下的示例中,我将只提供函数或表达式,而不再重复SELECT ... FROM sysibm.sysdummy1 或使用VALUES 子句。
  416.  
  417. 要使当前时间或当前时间戳记调整到GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器:
  418.  
  419. current time - current timezone
  420. current timestamp - current timezone
  421.  
  422. 给定了日期、时间或时间戳记,则使用适当的函数可以单独抽取出(如果适用的话)年、月、日、时、分、秒及微秒各部分:
  423.  
  424. YEAR (current timestamp)
  425. MONTH (current timestamp)
  426. DAY (current timestamp)
  427. HOUR (current timestamp)
  428. MINUTE (current timestamp)
  429. SECOND (current timestamp)
  430. MICROSECOND (current timestamp)
  431.  
  432. 从时间戳记单独抽取出日期和时间也非常简单:
  433.  
  434. DATE (current timestamp)
  435. TIME (current timestamp)
  436.  
  437. 因为没有更好的术语,所以您还可以使用英语来执行日期和时间计算:
  438.  
  439. current date + 1 YEAR
  440. current date + 3 YEARS + 2 MONTHS + 15 DAYS
  441. current time + 5 HOURS - 3 MINUTES + 10 SECONDS
  442.  
  443. 要计算两个日期之间的天数,您可以对日期作减法,如下所示:
  444.  
  445. days (current date) - days (date('1999-10-22'))
  446.  
  447. 而以下示例描述了如何获得微秒部分归零的当前时间戳记:
  448.  
  449. CURRENT TIMESTAMP - MICROSECOND (current timestamp) MICROSECONDS
  450.  
  451. 如果想将日期或时间值与其它文本相衔接,那么需要先将该值转换成字符串。为此,只要使用CHAR() 函数:
  452.  
  453. char(current date)
  454. char(current time)
  455. char(current date + 12 hours)
  456.  
  457. 要将字符串转换成日期或时间值,可以使用:
  458.  
  459. TIMESTAMP ('2002-10-20-12.00.00.000000')
  460. TIMESTAMP ('2002-10-20 12:00:00')
  461. DATE ('2002-10-20')
  462. DATE ('10/20/2002')
  463. TIME ('12:00:00')
  464. TIME ('12.00.00')
  465.  
  466. TIMESTAMP()、DATE() TIME() 函数接受更多种格式。上面几种格式只是示例,我将把它作为一个练习,让读者自己去发现其它格式。

  

DB2函数大全的更多相关文章

  1. DB2 函数大全

    DB2函数大全 函数名 函数解释 函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系 ...

  2. LoadRunner 函数大全之中文解释

    LoadRunner 函数大全之中文解释 // sapgui_table_set_column_selected 模拟用户 // 单击表中的列标题. int sapgui_table_set_colu ...

  3. 转:Delphi 函数大全

    Delphi 函数大全 - xiucaiyao的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xiucaiyao/article/details/4544039 名 ...

  4. SQL-2008函数大全

    SQL Server 2008 函数大全(完整版) SQL2008 表达式:是常量.变量.列或函数等与运算符的任意组合.1. 字符串函数 函数 名称 参数 示例 说明 ascii(字符串表达式) se ...

  5. PB函数大全

    PB函数大全 Abs()功能计算绝对值.语法Abs ( n )参数n:要得到绝对值的数值型变量或表达式返回值返回值的数据类型与n的数据类型相同,函数执行成功时返回n的绝对值.如果参数n的值为NULL, ...

  6. orale 函数大全[转]

    oracle函数大全 http://wenku.baidu.com/link?url=bXaGsnn8iN264GB8ec48IUPg5eRGDKAyAiSw0OBKL1I0mBVG549-2u9HT ...

  7. Oracle日期时间函数大全

    ORACLE日期时间函数大全 TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits ...

  8. MySQL 函数大全

    mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NU ...

  9. MySQL日期时间函数大全(转)

    MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...

随机推荐

  1. SSH使用TCP Wrappers实现访问控制

    SSH使用TCP Wrappers实现访问控制主要配置文件/etc/hosts.allow/etc/hosts.deny===TCP Wrappers的访问控制原则首先检查 hosts.allow 文 ...

  2. phpcms v9 后台首页 去掉团队信息等版权

    phpcms\languages\zh-cn\admin.lang.php $LANG['main_product_team'] = 'PHPCMS开发团队'; phpcms\modules\admi ...

  3. UVA 11149 Power of Matrix

    矩阵快速幂. 读入A矩阵之后,马上对A矩阵每一个元素%10,否则会WA..... #include<cstdio> #include<cstring> #include< ...

  4. Golang测试技术

    本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的 ...

  5. http://www.cnblogs.com/gaojing/archive/2011/08/23/2413616.html

    http://www.cnblogs.com/gaojing/archive/2011/08/23/2413616.html

  6. [Angular Tutorial] 9 -Routing & Multiple Views

    在这一步中,您将学到如何创建一个布局模板,并且学习怎样使用一个叫做ngRoute的Angular模块来构建一个具有多重视图的应用. ·当您现在访问/index.html,您将被重定向到/index.h ...

  7. php AES 加密类

    <?php class CryptAES { protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB ...

  8. KNN算法--物以类聚,人以群分

    KNN(K Nearest Neighbors,K近邻 )算法是机器学习所有算法中理论最简单,最好理解的.KNN是一种基于实例的学习,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>= ...

  9. spark中数据的读取与保存

    1.文本文件 (1)读取文本文件 JavaRDD<String> input =sc.textFile(dir) (2)保存文本文件 result.saveAsTextFile(dir)) ...

  10. 在Spring MVC Controller的同一个方法中,根据App还是WEB返回JSON或者HTML视图。

    如有高见,欢迎交流! 最近在做一个web的项目,web版已经开发完毕,现在正在进行手机APP的开发,开发中遇到一个问题: 就是web版和app版都有登录功能,本想着是分别走不同的URL,实际开发的时候 ...