绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
FIREBIRD/INTERBASE内置函数使用说明
2022-03-29 15:46:58

1. COUNT, AVG, MAX, MIN, SUM
说明:通用统计函数,不详细介绍了

2. EXTRACT(timestamp_part FROM value)
说明:EXTRACT(YEAR/MONTHE/DAY/WEEKDAY FROM 字段名)
从日期型字段中分离出年,月,日及一个星期的第几天

3. CAST(value AS datatype)
说明:转换数据类型

4. LOWER() *
说明:返回小写值

5. UPPER()
说明:返回大写值

6. TRIM() *
说明:去除字符串两边的空格

7. SUBSTRING(string FROM pos FOR length)
说明:取字符串子串,注意,个字符的位置是1

8. BIT_LENGTH *
说明:返回字符串位(bit)数

9. CHAR_LENGTH/CHARACTER_LENGTH *
说明:返回字符串字符数

10. OCTET_LENGTH *
说明:返回字符串字节数

11. CASE
说明:通过执行外来的一组条件取得相应的返回值
举例
i) 简单
SELECT o.ID, o.Description,
CASE o.Status
WHEN 1 THEN "confirmed"
WHEN 2 THEN "in production"
WHEN 3 THEN "ready"
WHEN 4 THEN "shipped"
ELSE "unknown status """ || o.Status || """"
END
FROM Orders o;
ii) 表达式
SELECT o.ID, o.Description,
CASE
WHEN (o.Status IS NULL) THEN "new"
WHEN (o.Status = 1) THEN "confirmed"
WHEN (o.Status = 3) THEN "in production"
WHEN (o.Status = 4) THEN "ready"
WHEN (o.Status = 5) THEN "shipped"
ELSE "unknown status """ || o.Status || """"
END
FROM Orders o;

12. IIF (<search_condition>, <value1>, <value2>)
说明:表达式为真,返回value1否则返回value2
等价于以下语句:
CASE
WHEN <search_condition> THEN <value1>
ELSE <value2>
END

13. NULLIF(V1,V2)
说明:如果V1=V2,返回NULL,否则返回V1
等价于以下语句:
CASE WHEN V1 = V2 THEN NULL ELSE V1 END
举例
UPDATE PRODUCTS
SET STOCK = NULLIF(STOCK,0)

14. COALESCE(V1, V2, …, Vn)
说明:如果V1为Null,返回V2,否则返回V1,
如果 n >= 3, 等于如下case语句:
CASE
WHEN V1 IS NOT NULL THEN V1
ELSE COALESCE (V2,...,Vn)
END

举例
SELECT
PROJ_NAME AS Projectname,
COALESCE(e.FULL_NAME,"[< not assigned >]") AS Employeename
FROM
PROJECT p
LEFT JOIN EMPLOYEE e
ON (e.EMP_NO = p.TEAM_LEADER);

SELECT
COALESCE(Phone,MobilePhone,"Unknown") AS "Phonenumber"
FROM Relations;

分享好友

分享这个小栈给你的朋友们,一起进步吧。

InterBase
创建时间:2022-03-29 15:23:16
InterBase
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • LCR_
    专家
戳我,来吐槽~