DB2常用函数、语句介绍

1.VALUE函数

语法:VALUE(EXPRESSION1,EXPRESSION2)

VALUE函数是用返回一个非空的值,当其第一个参数非空,直接返回该参数的值,如果第一个参数为空,则返回第一个参数的值。

eg:
--表示如果T1.ID为空,则返回空串,如果T1.ID不为空,则返回T1.ID。
SELECT VALUE(ID,'') FROM T1
 
2.DATE函数

SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式 YYYY-MM-DD
  • DATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式: 唯一的数字

如果不涉及时间部分,那么我们可以轻松地比较两个日期!

假设我们有下面这个 "Orders" 表:

OrderId ProductName OrderDate
1 computer 2008-12-26
2 printer 2008-12-26
3 electrograph 2008-11-12
4 telephone 2008-10-19
OrderId ProductName OrderDate 1 computer 2008-12-26 2 printer 2008-12-26 3 electrograph 2008-11-12 4 telephone 2008-10-19

现在,我们希望从上表中选取 OrderDate 为 "2008-12-26" 的记录。

我们使用如下 SELECT 语句:

SELECT * FROM Orders WHERE OrderDate='2008-12-26'

则可取出两条记录。如果orderdate为2008-12-26 16:23:55(timestamp格式的话),再用上面的语句就查询不出来我们的结果。这是由于该查询不含有时间部分的日期。

所以需要将语句改写为:

SELECT * FROM Orders WHERE (date)OrderDate='2008-12-26'
OrderId ProductName OrderDate
1 computer 2008-12-26
3 electrograph 2008-12-26
OrderId ProductName OrderDate
1 computer 2008-12-26
3 electrograph 2008-12-26

3.GROUP BY语句

  聚合语句,注意在使用的时候需要把聚合的语句都写日group by 中才可以正常使用

select a.username name,value(b.branchname,'分公司') branchname,count(a.vid) num
from sdtk.statistics a,sdtk.rtrn_userinfo b 
where a.username = b.username  
group by a.username,b.branchname

 注:a.username,b.branchname需要全部添加才能正常得出结果。

4.char()函数:

CHAR()  返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示.  SELECTCHAR(SALARY,',')FROMBSEMPMS

5.trim()函数

TRIM()  删除字符串的空格.  SELECTRTRIM('COMMENT')FROMBSEMPMS;

猜你喜欢

转载自seamplezeus.iteye.com/blog/1695377