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;
页:
[1]