CHAPTER 5 Getting More Than Simple Columns

Intro Value  expression,it contains column names, literal values, functions, or other value

expressions

The type of data

The SQL Standard defines seven general categories of types of data—character,

national character, binary, numeric, Boolean, datetime, and interval.

The national character data type is the same as the character data type except that it draws its characters from ISO-defined foreign language
character sets.

BOOLEAN数据类型能够使用TINYINT存储.

CAST

Changing Data Types

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29saWRkcmVhbTY2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

data_type须要查看详细数据库实现文档,比方MySQL

The type for
the result can be one of the following values:

  • BINARY[(N)]
  • CHAR[(N)]

源文档 <http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html#function_cast>

比方

SELECT OrderNumber, OrderDate, ShipDate,

CAST(ShipDate– OrderDate AS INTEGER)

AS DaysElapsed

FROM Orders

在MySQL中须要转为

SELECT OrderNumber, OrderDate, ShipDate,

CAST(ShipDate- OrderDate AS DECIMAL)

AS DaysElapsed

FROM Orders

Literal Value

分为字符串常量值,数值常量值和日期常量值.

假设使用单引號包括字符串,字符串中包括单引號,字符串中的单引號请使用两次以示与引用的单引號差别开来.

SQL 'The Vendor"s name is: '

Displayed as The Vendor's name is:

Types of Expressions

CONCATENATION

SQL字符串串接

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29saWRkcmVhbTY2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

❖ Note Of the major database systems,we found that only IBM’s DB2 and

Informix and Oracle’s Oracle support the SQL Standard operator for concatenation.

Microsoft Office Access supports & and + as concatenation

operators,Microsoft SQL Server and Ingres support +, and in MySQL you

must use the CONCAT function. In all the examples in the book,we use the

SQL Standard || operator. In the sample databases on the CD,we use the

appropriate operator for each database type (Microsoft Access, Microsoft

SQLServer, and MySQL).

由上图可知SQL标准字符串串接用||。可是在MySQL使用会被当作逻辑运算符。

MySQL使用concat内建函数串接字符串。而有的数据库使用直观的+串接字符串.

DATE AND TIME ARITHMETIC

MySQL须要将日期常量值转为对应类型再做计算,另外须要使用对应的日期函数计算

CAST('2016-11-22'AS DATE)

CAST('03:30:25'AS TIME)

CAST('2008-09-2914:25:00' AS DATETIME)

比方

SELECT StfLastName || ', ' || StfFirstName AS Staff,

DateHired,

CAST(CAST('2007-10-01'- DateHired AS INTEGER)

/365 AS INTEGER)

AS YearsWithSchool

FROM Staff

ORDER BY StfLastName, StfFirstName

在MySQL中转为

SELECT CONCAT(StfLastName , ', ' , StfFirstName) AS Staff,

DateHired,

CAST(DATEDIFF(CAST('1990-01-11'AS date) , DateHired )/365 as decimal)

AS YearsWithSchool

FROM Staff

ORDER BY StfLastName, StfFirstName

That"Nothing" Value:Null

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29saWRkcmVhbTY2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

推断Value Expression是否为NULL的时候请不要使用ValueExpression
= NULL,这是常犯的小错误.

SQL查询刚開始学习的人指南读书笔记(三)值表达式的更多相关文章

  1. SQL查询刚開始学习的人指南读书笔记(二)创建SQL查询

    PARTII: SQL Basics CHAPTER 4Creating a Simple Query 介绍一种怎样创建SQL语句的技术--"Request/Translation/Clea ...

  2. SQL查询刚開始学习的人指南读书笔记(一)关系数据库和SQL介绍

    PART I:Relational Databases and SQL Chapter2, Ensuring Your Database Structure IsSound. 数据库设计准则 什么是关 ...

  3. oracle刚開始学习的人经常使用操作100问

    oracle刚開始学习的人经常使用操作100问 1. Oracle安装完毕后的初始口令?   internal/oracle sys/change_on_install system/manager ...

  4. wxWidgets刚開始学习的人导引(3)——wxWidgets应用程序初体验

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...

  5. wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets

    wxWidgets刚開始学习的人导引全目录   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wxS ...

  6. wxWidgets刚開始学习的人导引(4)——wxWidgets学习资料及利用方法指导

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...

  7. 刚開始学习的人制作VMOS场效应管小功放

    VMOS场效应管既有电子管的长处又有晶体管的长处,用它制作的功率放大器声音醇厚.甜美,动态范围大.频率响应好.因此近年来在音响设备中得到了广泛应用. 大功率的场效应管功率放大器.电.路比較复杂.制作和 ...

  8. wxWidgets刚開始学习的人导引(1)——前言

    wxWidgets刚開始学习的人导引全文件夹   PDF版及附件下载 1 前言2 下载.安装wxWidgets3 wxWidgets应用程序初体验4 wxWidgets学习资料及利用方法指导5 用wx ...

  9. 对于刚開始学习的人Xcode最经常使用的快捷键

    对于刚開始学习的人而言,好多人都是直接使用鼠标进行操作.差点儿非常少使用快捷键,从而再练习编程时比别人慢那么一点,今天就把刚開始学习的人最经常使用的几个快捷键给大家总结下,当然欢迎大家补充. (1)c ...

随机推荐

  1. BZOJ1879 [Sdoi2009]Bill的挑战 【状压dp】

    题目 输入格式 本题包含多组数据. 第一行:一个整数T,表示数据的个数. 对于每组数据: 第一行:两个整数,N和K(含义如题目表述). 接下来N行:每行一个字符串. T ≤ 5,M ≤ 15,字符串长 ...

  2. SOAP UI(ReadyAPI)学习——第一步:资源帖

    SoapUI的参数说明:http://www.soapui.org/Working-with-soapUI/preferences.html 进一步了解可以阅读:http://www.51testin ...

  3. [转] Makefile 基础 (9) —— Makefile 使用make更新函数库文件

    该篇文章为转载,是对原作者系列文章的总汇加上标注. 支持原创,请移步陈浩大神博客:(最原始版本) http://blog.csdn.net/haoel/article/details/2886 我转自 ...

  4. 标准C程序设计七---42

    Linux应用             编程深入            语言编程 标准C程序设计七---经典C11程序设计    以下内容为阅读:    <标准C程序设计>(第7版) 作者 ...

  5. Linux内核解析之标准I/O库

    当Linux创建一个进程时,会自动创建3个文件描述符0,1,2,分别对应标准输入,标准输出,错误输出.C库中与文件描述符对应的是文件指针.查看C库头文件stdio.h中的源码 typedef stru ...

  6. hdu 1565&hdu 1569(网络流--最小点权值覆盖)

    方格取数(1) Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  7. react native ios启动指定模拟器

    react-native run-ios --simulator "iPhone 7 Plus” xcrun instruments -w 'iPhone X'

  8. 求lca(模板)

    洛谷——P3379 [模板]最近公共祖先(LCA) 题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点 ...

  9. JS没有contains方法,可以用indexof实现

    我们很多时候会不自觉的在js代码里对一个字符串进行如下操作: str.contains("substr"); 但是js里面没有这个方法去判断字符串str是不是包含substr,而j ...

  10. Web地图服务、WMS 请求方式、网络地图服务(WMS)的三大操作

    转自奔跑的熊猫原文 Web地图服务.WMS 请求方式.网络地图服务(WMS)的三大操作 1.GeoServer(地理信息系统服务器) GeoServer是OpenGIS Web 服务器规范的 J2EE ...