`

SqlServer 常用函数(续)

阅读更多
3.
CAST 和 CONVERT
将某种数据类型的表达式显式转换为另一种数据类型。CAST 和 CONVERT 提供相似的功能。

语法
使用 CAST:

CAST ( expression AS data_type )

使用 CONVERT:

CONVERT (data_type[(length)], expression [, style])

参数
expression

是任何有效的 Microsoft® SQL Server™ 表达式。有关更多信息,请参见表达式。

data_type

目标系统所提供的数据类型,包括 bigint 和 sql_variant。不能使用用户定义的数据类型。有关可用的数据类型的更多信息,请参见数据类型。

length

nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。

style

日期格式样式,借以将 datetime 或 smalldatetime 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型);或者字符串格式样式,借以将 float、real、money 或 smallmoney 数据转换为字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。

SQL Server 支持使用科威特算法的阿拉伯样式中的数据格式。

在表中,左侧的两列表示将 datetime 或 smalldatetime 转换为字符数据的 style 值。给 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。





示例
A. 同时使用 CAST 和 CONVERT
每个示例都将检索书名(这些图书的截止当前销售额的第一位数字为 3),并将这些图书的 ytd_sales 转换为 char(20)。

-- Use CAST.
USE pubs
GO
SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
FROM titles
WHERE CAST(ytd_sales AS char(20)) LIKE '3%'
GO

-- Use CONVERT.
USE pubs
GO
SELECT SUBSTRING(title, 1, 30) AS Title, ytd_sales
FROM titles
WHERE CONVERT(char(20), ytd_sales) LIKE '3%'
GO


下面是任一查询的结果集:

Title                          ytd_sales  
------------------------------ -----------
Cooking with Computers: Surrep 3876       
Computer Phobic AND Non-Phobic 375        
Emotional Security: A New Algo 3336       
Onions, Leeks, and Garlic: Coo 375        

(4 row(s) affected)

B. 使用带有算术运算符的 CAST
下面的示例通过将总的截止当前销售额 (ytd_sales) 与每本图书的价格 (price) 相除,进行单独列计算 (Copies)。在四舍五入到最接近的整数后,此结果将转换为 int 数据类型。

USE pubs
GO
SELECT CAST(ROUND(ytd_sales/price, 0) AS int) AS 'Copies'
FROM titles
GO


下面是结果集:

Copies     
------
205        
324        
6262       
205        
102        
7440       
NULL       
383        
205        
NULL       
17         
187        
16         
204        
418        
18         
1263       
273        

(18 row(s) affected)

C. 使用 CAST 进行串联
下面的示例使用 CAST 数据类型转换函数来串联非字符、非二进制表达式。

USE pubs
GO
SELECT 'The price is ' + CAST(price AS varchar(12))
FROM titles
WHERE price > 10.00
GO


下面是结果集:

------------------
The price is 19.99       
The price is 11.95       
The price is 19.99       
The price is 19.99       
The price is 22.95       
The price is 20.00       
The price is 21.59       
The price is 10.95       
The price is 19.99       
The price is 20.95       
The price is 11.95       
The price is 14.99       

(12 row(s) affected)

D. 使用 CAST 获得更多易读文本
下面的示例在选择列表中使用 CAST 将 title 列转换为 char(50) 列,这样结果将更加易读。

USE pubs
GO
SELECT CAST(title AS char(50)), ytd_sales
FROM titles
WHERE type = 'trad_cook'
GO


下面是结果集:

                                                       ytd_sales
--------------------------------------------------     ---------
Onions, Leeks, and Garlic: Cooking Secrets of the      375
Fifty Years in Buckingham Palace Kitchens              15096
Sushi, Anyone?                                         4095

(3 row(s) affected)

E. 使用带有 LIKE 子句的 CAST
下面的示例将 int 列(ytd_sales 列)转换为 char(20) 列,以便使用 LIKE 子句。

U
SE pubs
GO
SELECT title, ytd_sales
FROM titles
WHERE CAST(ytd_sales AS char(20)) LIKE '15%'
   AND type = 'trad_cook'
GO


下面是结果集:

title                                                        ytd_sales  
------------------------------------------------------------ -----------
Fifty Years in Buckingham Palace Kitchens                    15096      

(1 row(s) affected)


  • 大小: 113.9 KB
分享到:
评论

相关推荐

    一些比较常用的功能类

    3. **SqlServerHelper**: 这个类可能包含了与SQL Server数据库进行通信的方法,如执行SQL查询、存储过程,或者事务管理等。它可能是基于ADO.NET库实现的,通过`SqlConnection`、`SqlCommand`等类来连接和操作数据库...

    计算机等级考试二级VB基础教程.pdf

    - 数据访问特性使得VB能连接和操作多种数据库,包括Microsoft SQL Server等。 - VB支持ActiveX技术,可以利用其他应用程序的功能,如Word、Excel等。 - VB具备强大的Internet功能,可以方便地在应用程序中集成Web...

    VB基础教程计算机等级考试二级教程.pdf

    VB支持数据访问,能与大多数数据库格式进行交互,包括Microsoft SQL Server,并能利用ActiveX技术集成其他应用程序的功能,如Word和Excel。此外,VB具备强大的Internet功能,能轻松创建内部网和Internet服务器应用...

    asp源码,网络硬盘

    在分析和学习ASP源码时,了解ASP的基础语法、常用对象和函数,以及如何与数据库交互,都是非常关键的步骤。同时,熟悉Web开发的基本概念和最佳实践,如MVC模式、安全性考量、用户体验优化等,也会对理解和改进这个...

    CSharpWinForm实践开发教程课件全.ppt

    C# WinForms还支持使用ADO.NET与SQL Server等数据库进行交互,以及利用XML进行数据存储和交换。另外,可以结合其他技术如Ajax和Web服务,实现更高效的用户交互和数据通信。 总的来说,C# WinForms是C#开发者构建...

    计算机二级vb教材.pdf

    - 它的数据访问特性使其能够连接和操作多种数据库,包括Microsoft SQL Server等。 - VB支持ActiveX技术,可以利用其他应用程序的功能,比如Word和Excel。 - VB具有强大的Internet能力,可以轻松地在应用程序中...

    VB6.0基础教程 详细 简单 入门 适合初学者

    它具有数据访问特性,可以对包括 Microsoft SQL Server 和其它企业数据库在内的大部分数据库格式建立数据库和前端应用程序。此外,VB 还可以使用 ActiveX(TM) 技术,使用其它应用程序提供的功能,例如 Microsoft ...

    (完整版)计算机二级vb教材.doc

    - **数据库集成**:VB支持多种数据库,包括SQL Server,能创建数据库应用和前端程序。 - **ActiveX技术**:利用ActiveX组件,可以调用其他应用程序的功能,如Word和Excel。 - **互联网能力**:VB可轻松实现...

    python入门到高级全栈工程师培训 第3期 附课件代码

    07 通过form向server端发送数据 08 form表单之select标签 09 table标签 第38章 01 css的四种引入方式 02 css的四种基本选择器 03 css的组合选择器 04 css的属性选择器 05 css的伪类 06 css的选择器优先级 07 css的...

    《C#项目开发全程实录》.之.家庭视频监控系统-2

    C#可以通过ADO.NET库与SQL Server、SQLite等数据库进行交互。 - 掌握SQL语句,了解如何设计数据库结构,以及如何在C#中执行CRUD(创建、读取、更新、删除)操作。 7. **多线程与并发** - 视频监控系统中,可能...

    VB基础教程

    Visual Basic 支持多种数据库格式,如Microsoft SQL Server等,并且可以轻松地建立数据库前端应用程序和服务器端部件。 **2.3 网络应用开发** Visual Basic 提供了强大的Internet功能,可以轻松实现在应用程序中...

    vc++ 开发实例源码包

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_1

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_2

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_6

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_5

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

    vc++ 应用源码包_3

    代码里用了备份dll的方法,因此在自定义的函数中可以直接调用在内存中备份的dll代码,而不需要再把函数头部改来改去。 IOCP反弹远控客户端模型,外加上线服务端,全部代码注释! 如题。这个是IOCP远程控制软件的...

Global site tag (gtag.js) - Google Analytics