强大的跨数据库访问组件 UniDAC使用教程:注释和SQL函数
Universal Data Access Components (UniDAC)是一款通用数据库访问组件,提供了多个数据库的直接访问,如针对Windows的Delphi,C++Builder, Lazarus (以及 Free Pascal), Mac OS X, iOS,Android,Linux和64和32位的FreeBSD等等。我们将长期的经验集于这个小组件,提供统一的数据库连接访问(如oracle、微软SQL等等)。这意味着你可以在你的项目之间轻松地切换不同的数据库,以及创建跨数据库应用程序接口。
注释
注释将在带有两个连字符的UniSQL中插入(注释文本直到当前行的结尾)。对于多行注释,将其放到/*...*/中就可以了。例:
--This is a single-line comment /*This one spans over several lines*/
SQL函数
UniDAC引入了调用常见SQL函数的标准。在运行时,函数被转换为相应的本机函数或等效表达式(例如,几个函数)。构造语法是
{fn Function_Name(parameter1 [,parameter2 ... ])}
例如,以下片段
SELECT {fn TRIM(EName)} FROM emp
也可以写为
SELECT TRIM(EName) FROM emp
在MySQL中,因为在DBMS中有对应函数。但是在MS SQL Server中没有单个相应的函数,因此表达式应写为
SELECT LTRIM(RTRIM(EName)) FROM emp
下表为函数的简要介绍。
函数名 | 描述 |
---|---|
系统例程 | |
USER | 返回当前用户名。 |
字符串例程 | |
CHAR_LENGTH(string_exp) | 返回字符串表达式的长度。 |
LOCATE(string_exp1, string_exp2) | 在字符串表达式string_exp2 中查找第一次出现的子符串string_exp1。 |
SUBSTRING(string_exp, start, length) | 返回指定字符串 string_exp 的子字符串。 |
CONCAT(string_exp1, string_exp2) | 连接几个字符串表达式。 |
CHAR(code) | 将整数值转换为字符。 |
TRIM(string_exp) | 从字符串中删除头和尾随空格。 |
UPPER(string_exp) | 返回string_exp,且所有字母均为大写。 |
LOWER(string_exp) | 返回string_exp,且所有字母均为小写。 |
数字例程 | |
TRUNCATE(numeric_exp, integer_exp) | 返回 numeric_exp 截断到小数点右边的 integer_exp 位置。 |
CEILING(numeric_exp) | 返回不小于 numeric_exp 的最小整数值。 |
日期和时间例程 | |
CURRENT_DATE | 返回当前时间戳的日期部分,即年,月和日。 |
YEAR(date_exp) | 提取时间戳的年份部分。 |
MONTH(date_exp) | 提取时间戳的月份部分。 |
DAY(date_exp) | 提取时间戳的日部分。 |
DATEADD(datepart, number, date) | 向指定日期添加间隔时间再返回新的日期。间隔时间为日期部分的数字。以下示例将两年添加到HireDate字段:SELECT {fn DATEADD(year,2,HireDate)} FROM emp |
DATEDIFF (datepart, startdate, enddate) | 返回两个指定日期之间间隔的日期和时间。 |
转换例程 | |
TODATE(string_exp) | 将值转换为日期格式。 |
TOCHAR(any_type_exp) | 将值转换为字符串格式。 |
TONUMBER(string_exp) | 将值转换为数字格式。 |
本文属于《UniDAC使用教程(十五):统一SQL》中“注释”、“SQL函数”部分。下一篇文章将为大家带来宏参考,敬请期待~