MySQL数据库技术(10)

77我的狗狗

77我的狗狗

2016-02-19 20:35

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享MySQL数据库技术(10),希望可以对大家能有小小的帮助。

  2.4 表达式求值和类型转换

    MySQL 允许编写包括常量、函数调用和表列引用的表达式。这些值可利用不同类型的运算符进行组合,诸如算术运算符或比较运算符。表达式的项可用圆括号来分组。表达式在SELECT 语句的列选择列表和WHERE 子句中出现得最为频繁,如下所示:

    所选择的每列给出了一个表达式,如WHERE 子句中所示的那样。表达式也出现在DELETE 和U P D ATE 语句的WHERE 子句中,以及出现在I N S E RT 语句的VALUES( ) 子句中。

    在MySQL 遇到一个表达式时,它对其求值得出结果。例如, (4 * 3)/(4 - 2) 求值得6。表达式求值可能涉及类型转换。例如, MySQL 在数960821 用于需要日期值的环境时,将其转换为日期“ 1 9 9 6 - 0 8 - 2 1”。本节讨论怎样编写MySQL 的表达式,以及在表达式求值中MySQL 所使用的类型转换规则。每个MySQL 的运算符都介绍过了,但MySQL 有那么多的函数,我们只接触过几个。每个运算符和函数的进一步介绍可参阅附录C。

2.4.1 撰写表达式

    表达式可以只是一个简单的常量,如:

    0 数值常量

    “a b c” 串常量

    表达式可以进行函数调用。有的函数需要参数(圆括号中有值),而有的不需要。多个参数应该用逗号分隔。在调用一个函数时,参数旁边可以有空格,但在函数名与圆括号间不能有空格。下面是一些函数例子:

  NOW( ) 无参数函数
    STRCMP (“a b c”, “d e f”) 有两个参数的函数
    STRCMP( “a b c”, “d e f”) 参数旁边有空格是合法的
    STRCMP (“a b c”, “d e f”) 函数名后跟空格是不合法的

    如果函数名后有一个空格, MySQL 的分析程序可能会将函数名解释为一个列名(函数名不是保留字,如果需要的话,可将它们用作列名)。其结果是出现一个语法错误。表达式中可使用表列。最简单的情形是,当某个列所属的表在上下文中是明确的,则可简单地给出列名对该列进行引用。下面的每个SELECT 语句中惟一地出了一个表名,因此,列的引用无歧义:

    如果使用哪个表的列不明确,可在列名前加上表名。如果使用哪个数据库中的表也不明确的话,可在表名前加上数据库名。如果只是希望意思更明显,也可以在无歧义的上下文中利用这种更为具体的表示形式,如:

    总之,可以组合所有这些值以得到更为复杂的表达式。

    1. 运算符的类型

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

    MySQL 有几种类型的运算符,可用来连接表达式的项。算术运算符,如表2-15 所示,一般包括加、减、乘、除以及模运算符。在两个操作数都是整数时,“+”、“-”和“ *”算术运算用BIGINT(64 位)整数值来完成。而在结果预期为一个整数时,“/”和“%”也是用BIGINT(64 位)整数值来完成的。应该认识到,如果某个运算涉及更大的值,如结果超过64 位,其结果不可预料。

    MySQL 为进行运算,将“ a b c”和“d e f”转换为整数,且两者都转换为0, 0与0进行或运算,结果为0。在MySQL 中,必须用CONCAT (“a b c”, “d e f”) 来完成串的连接。

    位运算符如表2-17 所示,完成按位“与”和“或”,其中结果的每一位按两个操作数的对应位的逻辑AND 或OR 求值。还可以进行位的左移或右移。位运算用BIGINT(64 位)整数值进行。

    比较运算符如表2-18 所示,其中包括测试相对大小或数和串的顺序的运算符,以及完成模式匹配和测试NULL 值的运算符。“ = ”运算符是MySQL 特有的,在MySQL 3.23版本中引入。

  自MySQL 3.23版本起,可使用B I N A RY 运行符,此运算符可用来将一个串转换为一个二进制串,这个串在比较中是区分大小写的。下列的第一个比较是不区分大小写的,但第二个和第三个比较是区分大小写的:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)
展开更多 50%)
分享

猜你喜欢

MySQL数据库技术(10)

编程语言 网络编程
MySQL数据库技术(10)

MySQL数据库技术(13)

编程语言 网络编程
MySQL数据库技术(13)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL数据库技术(33)

编程语言 网络编程
MySQL数据库技术(33)

MySQL数据库技术(24)

编程语言 网络编程
MySQL数据库技术(24)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL数据库技术(12)

编程语言 网络编程
MySQL数据库技术(12)

MySQL数据库技术(17)

编程语言 网络编程
MySQL数据库技术(17)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

中文Access2000速成教程--2.3 使用“设计网格”创建查询

中文Access2000速成教程--2.3 使用“设计网格”创建查询

Win10 Mobile预览版10136更新内容汇总介绍

Win10 Mobile预览版10136更新内容汇总介绍
下拉加载更多内容 ↓