sql中数据类型的转换(自己写比较累哈,偷偷懒,转下别人的)
2008-09-03 14:54
309 查看
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)。
以上内容是到SQL帮助中复制下来的,但是要注意个情况,但CONVERT对日期进行转换时,注意style的用法,看以下有什么不同:
--字符转换为日期时,Style的使用
--1. Style=101时,表示日期字符串为:mm/dd/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',101)
--结果:2003-11-01 00:00:00.000
--2. Style=101时,表示日期字符串为:dd/mm/yyyy格式
SELECT CONVERT(datetime,'11/1/2003',103)
--结果:2003-01-11 00:00:00.000
/*== 日期转换为字符串 ==*/
DECLARE @dt datetime
SET @dt='2003-1-11'
--1. Style=101时,表示将日期转换为:mm/dd/yyyy 格式
SELECT CONVERT(varchar,@dt,101)
--结果:01/11/2003
--2. Style=103时,表示将日期转换为:dd/mm/yyyy 格式
SELECT CONVERT(varchar,@dt,103)
--结果:11/01/2003
/*== 这是很多人经常犯的错误,对非日期型转换使用日期的style样式 ==*/
SELECT CONVERT(varchar,'2003-1-11' ,101)
--结果:2003-1-11
SELECT CONVERT(varchar,CAST('2003-1-11' AS DATETIME),101)
--结果:01/11/2003
相关文章推荐
- 【JS基础】类型转换——不同数据类型比较
- sql distinct 不能比较或排序 text、ntext 和 image 数据类型,除非使用 IS NULL 或 LIKE 运算符
- sqlserver数据类型转换(将 nvarchar 转换为数据类型 numeric 时出现算术溢出错误)
- SQL servcer 时间日期函数、数据类型转换
- SqlServer数据类型、C#SqlDbType对应关系及转换
- SQL中数据类型转换
- PL/SQL中的数据类型隐式转换规则
- SQL中_数据类型转换
- Oracle Class6. PL/SQL 简介(数据类型,逻辑比较,控制结构,错误处理)
- ADO 数据类型转换表 oledbtype sqldbtype
- 解决SQL将varchar值转换为数据类型为int的列时发生语法错误
- SQL 数据类型转换 CAST 和 CONVERT (Transact-SQL)
- C#与C++数据类型比较及结构体转换(搜集整理二)
- SQL中查询ORCALCE库数据 报错误:从数据类型 DBTYPE_DBTIMESTAMP 转换为 datetime 时出错
- SqlServer数据类型、C#SqlDbType对应关系及转换
- C#中把任意类型的泛型集合转换成SQLXML数据格式的实例
- 基于C++浮点数(float、double)类型数据比较与转换的详解
- SQL Server游标 C# DataTable.Select() 筛选数据 什么是SQL游标? SQL Server数据类型转换方法 LinQ是什么? SQL Server 分页方法汇总
- SqlServer数据类型、C#SqlDbType对应关系及转换