SQL开发——SQL语法
文档资料参考:
- 参考:http://www.w3school.com.cn/sql/sql_syntax.asp
- 参考:http://wiki.jikexueyuan.com/project/sql/
- 参考:https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html(MySQL完整的函数列表)
- VS Code进行SQL美化参考:https://marketplace.visualstudio.com/items?itemName=sensourceinc.vscode-sql-beautify
软件下载参考:
- Oracle 12c:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/database12c-win64-download-2297732.html
- Oracle 18c:http://download.oracle.com/otn/nt/oracle18c/180000/WINDOWS.X64_180000_client.zip (原文转载)
- plsql:https://download.csdn.net/download/hanzheng260561728/10633872 (原文转载)
- Navicat Premium 12:https://download.csdn.net/download/hanzheng260561728/10578397 (原文转载)
- SQL Developer:http://download.oracle.com/otn/java/sqldeveloper/sqldeveloper-18.2.0.183.1748-x64.zip (原文转载)
目录:
- 重要事项
- SQL 语句后面的分号?
- SQL DML 和 DDL
- SQL 方法
- SQL select
- SQL distinct
- SQL where
- SQL and & or
- SQL order by
- SQL insert into
- SQL update
- SQL delete
- SQL top
- SQL like 操作符(通配符)
- SQL in 操作符
- SQL between 操作符
- SQL Alias(别名)
- SQL join
- SQL union 操作符
- SQL select into 语句
- SQL create database 语句
- SQL create table 语句
- SQL 约束 (Constraints) NOT NULL 约束
- SQL 约束 (Constraints) UNIQUE 约束
- SQL 约束 (Constraints) PRIMARY KEY 约束
- SQL 约束 (Constraints) FOREIGN KEY 约束
- SQL 约束 (Constraints) CHECK 约束
- SQL 约束 (Constraints) DEFAULT 约束
- SQL create index 语句
- SQL drop 语句
- SQL alter table 语句
- SQL auto_increment 字段
- SQL view (视图)
- SQL NULL函数:isnull()、NVL()、IFNULL() 和 COALESCE() 函数
- SQL 函数
- SQL group by 语句
- SQL having 语句
- SQL 函数
- SQL Date 函数
- 合计函数(Aggregate functions)
- MS Access 中的合计函数
- 在 SQL Server 中的合计函数
- Scalar 函数
- MS Access 中的 Scalar 函数
1、重要事项
一定要记住,SQL 对大小写不敏感!
2、SQL 语句后面的分号?
- 某些数据库系统要求在每条 SQL 命令的末端使用分号。在我们的教程中不使用分号。
- 分号是在数据库系统中分隔每条 SQL 语句的标准方法,这样就可以在对服务器的相同请求中执行一条以上的语句。
- 如果您使用的是 MS Access 和 SQL Server 2000,则不必在每条 SQL 语句之后使用分号,不过某些数据库软件要求必须使用分号。
3、SQL DML 和 DDL
可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。
SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。
查询和更新指令构成了 SQL 的 DML 部分:
- SELECT - 从数据库表中获取数据
- UPDATE - 更新数据库表中的数据
- DELETE - 从数据库表中删除数据
- INSERT INTO - 向数据库表中插入数据
SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。
SQL 中最重要的 DDL 语句:
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
4、SQL 方法
- SQL select
- SQL distinct:在表中,可能会包含重复值
- SQL where
where 子句中可用的运算符:
操作符 描述 = 等于 <> 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于 BETWEEN 在某个范围内 LIKE 搜索某种模式 注释:在某些版本的 SQL 中,操作符 <> 可以写为 !=。
- SQL and & or 运算符:and 和 or 可在 where 子语句中把两个或多个条件结合起来。
- SQL order by:用于对结果集进行排序。
希望按照降序对记录进行排序,可以使用 DESC 关键字
希望按照升序对记录进行排序,可以使用 ASC 关键字 - SQL insert into 语句
insert into 表名称 values(值1, 值2,....)
insert into table_name (列1, 列2,...) VALUES (值1, 值2,....) - SQL update 语句:用于修改表中的数据。
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值 - SQL delete 语句:用于删除表中的行。
DELETE FROM 表名称 WHERE 列名称 = 值
----------------------------------------------------------------------------------------------------------------- - SQL top 子句:用于规定要返回的记录的数目。
SELECT TOP number|percent column_name(s)
FROM table_name SELECT TOP 2 * FROM Persons -- 从 "Persons" 表中选取头两条记录
SELECT TOP 50 PERCENT * FROM Persons -- 从 "Persons" 表中选取 50% 的记录 - SQL like 操作符:用于在 where 子句中搜索列中的制定模式。
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
SQL 通配符必须与 LIKE 运算符一起使用。
在 SQL 中,可使用以下通配符:通配符 描述 % 替代一个或多个字符 _ 仅替代一个字符 [charlist] 字符列中的任何单一字符 [^charlist]
或者
[!charlist]
不在字符列中的任何单一字符 - SQL in 操作符:用于我们在 where 子句中规定多个值。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...) - SQL between 操作符:操作符 between ... and 会选取两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2 - SQL Alias(别名):通过使用SQL,可以为列名称和表名称指定别名(Alias)。
-- 表的 SQL Alias 语法
SELECT column_name(s)
FROM table_name
AS alias_name -- 列的 SQL Alias 语法
SELECT column_name AS alias_name
FROM table_name - SQL join:用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
JOIN: 如果表中有至少一个匹配,则返回行(注释:INNER JOIN 与 JOIN 是相同的),INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 "Persons" 中的行在 "Orders" 中没有匹配,就不会列出这些行。
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_nameLEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行,LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行(在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN)。
SELECT column_name(s)
FROM table_name1
LEFT JOIN table_name2
ON table_name1.column_name=table_name2.column_nameRIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行,RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。
SELECT column_name(s)
FROM table_name1
RIGHT JOIN table_name2
ON table_name1.column_name=table_name2.column_nameFULL JOIN: 只要其中一个表中存在匹配,就返回行,只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2
ON table_name1.column_name=table_name2.column_name - SQL union 操作符:用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
-- SQL UNION 语法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
-- 注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。 -- SQL UNION ALL 语法
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2
-- 另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。 - SQL select into 语句:用于创建表的备份复件。SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。
-- 可以把所有的列插入新表:
SELECT *
INTO new_table_name [IN externaldatabase]
FROM old_tablename -- 或者只把希望的列插入新表:
SELECT column_name(s)
INTO new_table_name [IN externaldatabase]
FROM old_tablename - SQL create database 语句:用于创建数据库。
-- 创建一个名为 "database_name" 的数据库
CREATE DATABASE database_name - SQL create table 语句:用于创建数据库中的表。
SQL 数据类型:Microsoft Access、MySQL 以及 SQL Server 所使用的数据类型和范围。CREATE TABLE 表名称
(
-- 列名称1 数据类型,
-- 列名称2 数据类型,
-- 列名称3 数据类型,
-- ....
)数据类型(data_type)规定了列可容纳何种数据类型。下面的表格包含了SQL中最常用的数据类型:
数据类型 描述 - integer(size)
- int(size)
- smallint(size)
- tinyint(size)
仅容纳整数。在括号内规定数字的最大位数。 - decimal(size,d)
- numeric(size,d)
容纳带有小数的数字。
"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。
char(size) 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。
在括号中规定字符串的长度。
varchar(size) 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。
在括号中规定字符串的最大长度。
date(yyyymmdd) 容纳日期。 -- 本例演示如何创建名为 "Person" 的表。
-- 该表包含 5 个列,列名分别是:"Id_P"、"LastName"、"FirstName"、"Address" 以及 "City":
CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
-- Id_P 列的数据类型是 int,包含整数。其余 4 列的数据类型是 varchar,最大长度为 255 个字符。
-- 本例演示如何创建名为 "Person" 的表。
-- 该表包含 5 个列,列名分别是:"Id_P"、"LastName"、"FirstName"、"Address" 以及 "City":CREATE TABLE Persons(Id_P int,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255))
-- Id_P 列的数据类型是 int,包含整数。其余 4 列的数据类型是 varchar,最大长度为 255 个字符。-----------------------------------------------------------------------------------------------------------------
- SQL 约束 (Constraints) NOT NULL 约束:NOT NULL 约束强制列不接受 NULL 值。NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
-- 下面的 SQL 语句强制 "Id_P" 列和 "LastName" 列不接受 NULL 值:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
) - SQL 约束 (Constraints) UNIQUE 约束:UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。 - SQL 约束 (Constraints) PRIMARY KEY 约束:PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键。
- SQL 约束 (Constraints) FOREIGN KEY 约束:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。FOREIGN KEY 约束用于预防破坏表之间连接的动作。FOREIGN KEY 约束也能防止非法数据插入外键列,它必须是它指向的那个表中的值之一。
- SQL 约束 (Constraints) CHECK 约束:CHECK 约束用于限制列中的值的范围。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
-- 1、SQL CHECK Constraint on CREATE TABLE
-- 下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。
-- My SQL:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
)
-- SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL CHECK (Id_P>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
) -- 如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:
-- MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
) -- 2、SQL CHECK Constraint on ALTER TABLE
-- 如果在表已存在的情况下为 "Id_P" 列创建 CHECK 约束,请使用下面的 SQL:
-- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (Id_P>0) -- 如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:
-- MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes') -- 3、撤销 CHECK 约束
-- 如需撤销 CHECK 约束,请使用下面的 SQL:
-- SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
-- MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person SQL 约束 (Constraints) DEFAULT 约束:DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。
-- 1、SQL DEFAULT Constraint on CREATE TABLE
-- 下面的 SQL 在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束:
-- My SQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)
-- 通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:
CREATE TABLE Orders
(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
OrderDate date DEFAULT GETDATE()
)
-- 2、SQL DEFAULT Constraint on ALTER TABLE
-- 如果在表已存在的情况下为 "City" 列创建 DEFAULT 约束,请使用下面的 SQL:
-- MySQL:
ALTER TABLE Persons
ALTER City SET DEFAULT 'SANDNES'
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES' -- 3、撤销 DEFAULT 约束
-- 如需撤销 DEFAULT 约束,请使用下面的 SQL:
-- MySQL:
ALTER TABLE Persons
ALTER City DROP DEFAULT
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULTSQL create index 语句:CREATE INDEX 语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。用户无法看到索引,它们只能被用来加速搜索/查询。
注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。-- 1、SQL CREATE INDEX 语法
-- 在表上创建一个简单的索引。允许使用重复的值:
CREATE INDEX index_name
ON table_name (column_name)
-- 注释:"column_name" 规定需要索引的列。 -- 2、SQL CREATE UNIQUE INDEX 语法
-- 在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。
CREATE UNIQUE INDEX index_name
ON table_name (column_name)实例:
-- CREATE INDEX 实例
-- 本例会创建一个简单的索引,名为 "PersonIndex",在 Person 表的 LastName 列:
CREATE INDEX PersonIndex
ON Person (LastName) -- 如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC:
CREATE INDEX PersonIndex
ON Person (LastName DESC) -- 假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:
CREATE INDEX PersonIndex
ON Person (LastName, FirstName)SQL drop 语句:撤销索引、表以及数据库。通过使用 DROP 语句,可以轻松地删除索引、表和数据库。
-- SQL DROP INDEX 语句
-- 我们可以使用 DROP INDEX 命令删除表格中的索引。
-- 1、用于 Microsoft SQLJet (以及 Microsoft Access) 的语法:
DROP INDEX index_name ON table_name
-- 2、用于 MS SQL Server 的语法:
DROP INDEX table_name.index_name
-- 3、用于 IBM DB2 和 Oracle 语法:
DROP INDEX index_name
-- 4、用于 MySQL 的语法:
ALTER TABLE table_name DROP INDEX index_name
-- 5、SQL DROP TABLE 语句
-- DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除):
DROP TABLE 表名称
-- 6、SQL DROP DATABASE 语句
-- DROP DATABASE 语句用于删除数据库:
DROP DATABASE 数据库名称
-- 7、SQL TRUNCATE TABLE 语句
-- 如果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?
-- 请使用 TRUNCATE TABLE 命令(仅仅删除表格中的数据):
TRUNCATE TABLE 表名称SQL alter table 语句:ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
-- ALTER TABLE 语句
-- ALTER TABLE 语句用于在已有的表中添加、修改或删除列。 -- SQL ALTER TABLE 语法
-- 如需在表中添加列,请使用下列语法:
ALTER TABLE table_name
ADD column_name datatype -- 要删除表中的列,请使用下列语法:
ALTER TABLE table_name
DROP COLUMN column_name
-- 注释:某些数据库系统不允许这种在数据库表中删除列的方式 (DROP COLUMN column_name)。 -- 要改变表中列的数据类型,请使用下列语法:
ALTER TABLE table_name
ALTER COLUMN column_name datatypeSQL auto_increment 字段:Auto-increment 会在新记录插入表中时生成一个唯一的数字。我们通常希望在每次插入新记录时,自动地创建主键字段的值。我们可以在表中创建一个 auto-increment 字段。
- SQL view (视图):视图是可视化的表,可以创建、更新、删除视图。
SQL NULL函数:isnull()、NVL()、IFNULL() 和 COALESCE() 函数:
-- 下面,如果 "UnitsOnOrder" 是 NULL,则不利于计算,因此如果值是 NULL 则 ISNULL() 返回 0。
-- SQL Server / MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products -- Oracle
-- Oracle 没有 ISNULL() 函数。不过,我们可以使用 NVL() 函数达到相同的结果:
SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products -- MySQL
-- MySQL 也拥有类似 ISNULL() 的函数。不过它的工作方式与微软的 ISNULL() 函数有点不同。
-- 在 MySQL 中,我们可以使用 IFNULL() 函数,就像这样:
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products -- 或者我们可以使用 COALESCE() 函数,就像这样:
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products-----------------------------------------------------------------------------------------------------------------
- SQL 函数:SQL 拥有很多可用于计数和计算的内建函数。
-- 内建 SQL 函数的语法是:
SELECT function(列) FROM 表在 SQL 中,基本的函数类型和种类有若干种。函数的基本类型是:
(1)Aggregate 函数(合计函数)
(2)Scalar 函数(标量函数) - SQL group by 语句:合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
- SQL having 语句:在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
having 子句使你能够指定过滤条件,从而控制查询结果中哪些组可以出现在最终结果里面。
where 子句对被选择的列施加条件,而 having 子句则对 group by 子句所产生的组施加条件。
在 select 查询中,having 子句必须紧随 group by 子句,并出现在 order by 子句(如果有的话)之前。-- 举例说明
SELECT Customer,SUM(OrderPrice) FROM Orders
WHERE Customer='Bush' OR Customer='Adams'
GROUP BY Customer
HAVING SUM(OrderPrice)>1500
5、SQL 函数
https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html(MySQL完整的函数列表)
5.1 SQL Date 函数
参考:http://www.w3school.com.cn/sql/sql_dates.asp
5.2 合计函数(Aggregate functions)
Aggregate 函数的操作面向一系列的值,并返回一个单一的值。
注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使用 GROUP BY 语句!
5.2.1 MS Access 中的合计函数
函数 | 描述 |
---|---|
AVG(column) | 返回某列的平均值 |
COUNT(column) | 返回某列的行数(不包括 NULL 值) |
COUNT(*) | 返回被选行数 |
FIRST(column) | 返回在指定的域中第一个记录的值 |
LAST(column) | 返回在指定的域中最后一个记录的值 |
MAX(column) | 返回某列的最高值 |
MIN(column) | 返回某列的最低值 |
STDEV(column) | |
STDEVP(column) | |
SUM(column) | 返回某列的总和 |
VAR(column) | |
VARP(column) |
5.2.2 在 SQL Server 中的合计函数
函数 | 描述 |
---|---|
AVG(column) | 返回某列的平均值 |
BINARY_CHECKSUM | |
CHECKSUM | |
CHECKSUM_AGG | |
COUNT(column) | 返回某列的行数(不包括NULL值) |
COUNT(*) | 返回被选行数 |
COUNT(DISTINCT column) | 返回相异结果的数目 |
FIRST(column) | 返回在指定的域中第一个记录的值(SQLServer2000 不支持) |
LAST(column) | 返回在指定的域中最后一个记录的值(SQLServer2000 不支持) |
MAX(column) | 返回某列的最高值 |
MIN(column) | 返回某列的最低值 |
STDEV(column) | |
STDEVP(column) | |
SUM(column) | 返回某列的总和 |
VAR(column) | |
VARP(column) |
5.3 Scalar 函数
Scalar 函数的操作面向某个单一的值,并返回基于输入值的一个单一的值。
5.3.1 MS Access 中的 Scalar 函数
函数 | 描述 |
---|---|
UCASE(c) | 将某个域转换为大写 |
LCASE(c) | 将某个域转换为小写 |
MID(c,start[,end]) | 从某个文本域提取字符 |
LEN(c) | 返回某个文本域的长度 |
INSTR(c,char) | 返回在某个文本域中指定字符的数值位置 |
LEFT(c,number_of_char) | 返回某个被请求的文本域的左侧部分 |
RIGHT(c,number_of_char) | 返回某个被请求的文本域的右侧部分 |
ROUND(c,decimals) | 对某个数值域进行指定小数位数的四舍五入 |
MOD(x,y) | 返回除法操作的余数 |
NOW() | 返回当前的系统日期 |
FORMAT(c,format) | 改变某个域的显示方式 |
DATEDIFF(d,date1,date2) | 用于执行日期计算 |
SQL开发——SQL语法的更多相关文章
- [.NET] 使用C#开发SQL Function来提供服务 - 简讯发送
[.NET] 使用C#开发SQL Function来提供服务 - 简讯发送 范例下载 范例程序代码:点此下载 问题情景 在「使用C#开发SQL Function来提供数据 - 天气预报」这篇文章中,介 ...
- [.NET] 使用C#开发SQL Function来提供数据 - 天气预报
[.NET] 使用C#开发SQL Function来提供数据 - 天气预报 范例下载 范例程序代码:点此下载 问题情景 开发人员在设计一些数据汇整的系统服务时,可能会选择WCF.WebAPI.Sign ...
- SQL PL/SQL语法手册
SQL PL/SQL语法手册 目 录 第一部分 SQL语法部分 3 一. CREATE TABLE 语句 3 二. CREATE SEQUENCE语句 5 三. CREATE VIEW语句 6 ...
- 最强最全面的Hive SQL开发指南,超四万字全面解析
本文整体分为两部分,第一部分是简写,如果能看懂会用,就直接从此部分查,方便快捷,如果不是很理解此SQL的用法,则查看第二部分,是详细说明,当然第二部分语句也会更全一些! 第一部分: hive模糊搜索表 ...
- SQL开发技巧(二)
本系列文章旨在收集在开发过程中遇到的一些常用的SQL语句,然后整理归档,本系列文章基于SQLServer系列,且版本为SQLServer2005及以上-- 文章系列目录 SQL开发技巧(一) SQL开 ...
- SQL中部分语法整理
1.SELECT DISTINCT 语句 关键词DISTINCT用于返回唯一不同的值. 语法: SELECT DISTINCT 列名称 FROM 表名称 2.SELECT INTO语句 SELECT ...
- SQL server存储过程语法及实例(转)
存储过程如同一门程序设计语言,同样包含了数据类型.流程控制.输入和输出和它自己的函数库. --------------------基本语法-------------------- 一.创建存储过程cr ...
- 动态sql语句基本语法--Exec与Exec sp_executesql 的区别
http://www.cnblogs.com/goody9807/archive/2010/10/19/1855697.html 动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 ...
- SQL 2008 RAISERROR语法在SQL 2012/2014不兼容问题
原文 旧的RAISERROR语法在SQL 2012不兼容问题 raiserror 写法: SQL 2008: raiserror 55030 'text error' SQL 2012: raiser ...
随机推荐
- RequireJS - 个人小入门
quirejs : http://www.requirejs.cn/ 叶小钗 : http://www.cnblogs.com/yexiaochai/p/3214926.html app.js 展示 ...
- shell入门(二):()、(())、[]、[[]]、{}
1.() 命令组. 括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号’;’隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ...
- python数据类型小测试
# 1. 有两个列表,其中一个列表a,每一项映射到另一个列表b每一项,先对a排序,要求b的中映射关系位置保持不变,给b也按照排序, (b的8对应a的[1,2], 7对应[3,4] ... ) a = ...
- 四.property
将一个类的函数定义成特性以后,对象再去使用的时候obj.name,根本无法察觉自己的name是执行了一个函数然后计算出来的,这种特性的使用方式遵循了统一访问的原则 # 例一:BMI指数(bmi是计算而 ...
- Maven mvn install 本地jar添加到本地maven仓库中
mvn install:install-file -DgroupId=alipay -DartifactId=taobao-sdk-java-auto -Dversion=1.0 -Dpackagin ...
- C#生成唯一值的方法汇总
生成唯一值的方法很多,下面就不同环境下生成的唯一标识方法一一介绍,作为工作中的一次总结,有兴趣的可以自行测试: https://www.cnblogs.com/xinweichen/p/4287640 ...
- Redis数据结构之intset(2)
本文及后续文章,Redis版本均是v3.2.8 上文我们说到intset整型集合的数据结构定义即元素的添加和查询操作,本文我们来看下Redis暴露给外面使用的Set集合,先通过一些基本的命令回顾下se ...
- idea整合 spring boot jsp mybatis
spring boot 开发起来确实要简单许多 ,spring boot 包含了 spring mvc ;内置tomcat ;启动只需要主方法即可 1.使用idea新建一个spring bo ...
- Nginx服务器中的Socket切分,需要的朋友可以参考下
NGINX发布的1.9.1版本引入了一个新的特性:允许使用SO_REUSEPORT套接字选项,该选项在许多操作系统的新版本中是可用的,包括DragonFly BSD和Linux(内核版本3.9及以后) ...
- NumPy的思考……
问题: 为什么第一次输出矩阵形式的数据,第二次输出list形式的数据? 详见代码: a = np.array([[1, 2], [3, 4]]) print(a) print('ndim :', a. ...