惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
S
Securelist
P
Proofpoint News Feed
D
DataBreaches.Net
Cisco Talos Blog
Cisco Talos Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Project Zero
Project Zero
A
About on SuperTechFans
罗磊的独立博客
WordPress大学
WordPress大学
月光博客
月光博客
Latest news
Latest news
C
Cyber Attacks, Cyber Crime and Cyber Security
GbyAI
GbyAI
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
博客园 - 三生石上(FineUI控件)
F
Fortinet All Blogs
W
WeLiveSecurity
Attack and Defense Labs
Attack and Defense Labs
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Privacy International News Feed
AI
AI
博客园 - 司徒正美
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Stack Overflow Blog
Stack Overflow Blog
M
MIT News - Artificial intelligence
Help Net Security
Help Net Security
T
Tor Project blog
V
Vulnerabilities – Threatpost
C
Cisco Blogs
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MyScale Blog
MyScale Blog
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
Forbes - Security
Forbes - Security
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
T
Threat Research - Cisco Blogs
B
Blog RSS Feed
博客园 - 叶小钗
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Simon Willison's Weblog
Simon Willison's Weblog
C
CERT Recently Published Vulnerability Notes
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
News and Events Feed by Topic

博客园 - Nillson

传说中的Singleton.... 设计模式--简单工厂模式 策略模式 抽象类与接口 C# 实现的一个二叉树类 回顾一个面试题 再谈代理 常见的排序方法 预定义,宏定义 复杂查询 数据库中的Index和View的理解 重载和重写 采用递归的方法获得一棵树的所有叶节点 .NET中的新概念整理 4月要看的书 System.Runtime.InteropServices浅见 挂个牛人 一篇关于如何写注释的文章,值得收藏 Vistual Studio 2005到Vistual Studio 2008的版本转换问题 Visual Studio 2008 的一个Bug
连接符,数值运算与函数
Nillson · 2008-07-03 · via 博客园 - Nillson

连接符号
这个东西比较简单根据不同的数据库有不同的符号SQL server 采用的是"+".它的作用是可以将不同的列的信息合并成一列作为查询结果输出出来。例如下面的语句:

create table regtest
(
TName nchar(30),
TSalary int
)
insert into regtest values('nillson', 100000)
select * from regtest
select TName +Cast(TSalary as nchar(10)) as NameSalary from regtest

第二个查询语句的输出结果为
NameSalary
nillson                       (100000    )
这个功能比较好,省去了我们在程序中重新组合这些字段的麻烦了。
Cast运算符
这个东东的作用是用来转换数据类型的,因为"+"只能连接具有相同或者相似的数据类型的数据,很显然char和int是差了十万八千里的。这跟我们在程序里边对数值变成字符串之后再组合的道理是一样一样滴。
Cast的语法
Cast(colname as datatypename)
As的用法
As为查询结果中出现的新列创建一个别名,这个也好理解,组合出来的东西与原来的列名不可能一样,所以默认情况下是没有列名的。
别名可以在Order by子句中用,但是却不能在Where, Group by, Having用,这是为嘛呢?其实道理也简单,这是因为执行Sql语句的子句是按照一定的顺序而来的,它们的顺序是From->Where->Group->Having->Select->Order by 这样看来就很明了了. As所创建的别名只有在Select子句之后才有意义,在之前的子句中压根就不知道有这么个东西.所以报错也就在所难免了.

数值运算:

允许在两列之间运用数值运算符来“创造”出一个新列,当然这一列在查询结果中是没有列名的,需要用As关键字为其取一个别名。如果需要排序可以利用该别名来排序,但是该别名同样不能在Group by, Having中使用。

函数:

非常不幸的是函数在各个DBMS中不是通用的,所以在设计数据库的时候应该尽量避免使用函数,在此就偷个懒不写了