将一种数据类型的表达式转换为另一种数据类型的表达式。
CAST语法:
CAST ( expression AS data_type [ (length ) ])
CONVERT语法:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
参数
expression
任何有效的表达式
。
data_type
目标数据类型。这包括 xml
、bigint
和
sql_variant
。不能使用别名数据类型。有关可用数据类型的详细信息,请参阅数据类型
(Transact-SQL)
。
length
指定目标数据类型长度的可选整数。默认值为 30。
style
指定 CONVERT 函数如何转换 expression
的整数表达式。如果样式为 NULL,则返回 NULL。该范围是由
data_type
确定的。
Date 和 Time 样式
如果 expression
为 date 或 time 数据类型,则 style
可以为下表中显示的值之一。其他值作为 0 进行处理。SQL Server 使用科威特算法来支持阿拉伯样式的日期格式。
不带世纪数位 (yy) (1
)
带世纪数位 (yyyy)
标准
输入/输出 (3
)
-
|
0
或 100
(1,
2
)
|
默认
|
mon dd yyyy hh:miAM(或 PM)
|
1
|
101
|
美国
|
mm/dd/yyyy
|
2
|
102
|
ANSI
|
yy.mm.dd
|
3
|
103
|
英国/法国
|
dd/mm/yyyy
|
4
|
104
|
德国
|
dd.mm.yy
|
5
|
105
|
意大利
|
dd-mm-yy
|
6
|
106
(1)
|
-
|
dd mon yy
|
7
|
107
(1)
|
-
|
mon dd, yy
|
8
|
108
|
-
|
hh:mi:ss
|
-
|
9
或 109
(1,
2
)
|
默认设置 + 毫秒
|
mon dd yyyy hh:mi:ss:mmmAM(或 PM)
|
10
|
110
|
美国
|
mm-dd-yy
|
11
|
111
|
日本
|
yy/mm/dd
|
12
|
112
|
ISO
|
yymmdd
yyyymmdd
|
-
|
13
或 113
(1,
2
)
|
欧洲默认设置 + 毫秒
|
dd mon yyyy hh:mi:ss:mmm(24h)
|
14
|
114
|
-
|
hh:mi:ss:mmm(24h)
|
-
|
20
或 120
(2
)
|
ODBC 规范
|
yyyy-mm-dd hh:mi:ss(24h)
|
-
|
21
或 121
(2
)
|
ODBC 规范(带毫秒)
|
yyyy-mm-dd hh:mi:ss.mmm(24h)
|
-
|
126
(4
)
|
ISO8601
|
yyyy-mm-ddThh:mi:ss.mmm(无空格)
|
-
|
127
(6, 7
)
|
带时区 Z 的 ISO8601。
|
yyyy-mm-ddThh:mi:ss.mmmZ
(无空格)
|
-
|
130
(1,
2
)
|
回历 (5
)
|
dd mon yyyy hh:mi:ss:mmmAM
|
-
|
131
(2
)
|
回历 (5
)
|
dd/mm/yy hh:mi:ss:mmmAM
|
有关类型的详细信息,请参阅:http://msdn.microsoft.com/zh-cn/library/ms187928.aspx
例子:
1.SELECT CONVERT(CHAR(10), CURRENT_TIMESTAMP, 102)
执行结果: 2009.11.23
select convert(NVARCHAR(19),getdate(),120)
执行结果: 2009-11-23 15:48:28
2. select cast( CURRENT_TIMESTAMP as varchar(30))
执行结果: 11 23 2009 3:44PM
3. CAST和CONVERT还能联合使用,达到特殊的效果:
SELECT CAST(CONVERT(CHAR(10),CURRENT_TIMESTAMP,102) AS DATETIME)
执行结果:2009-11-23 00:00:00.000
参考资料: http://msdn.microsoft.com/zh-cn/library/ms187928.aspx
分享到:
相关推荐
CAST 和 CONVERT 是 SQL 中的两个重要函数,用于将某种数据类型的表达式显式转换为另一种数据类型。它们提供相似的功能,但存在一些区别。 CAST 语法: CAST ( expression AS data_type ) 其中,expression 是...
SQL 中 Convert 和 Cast 的区别 SQL 中的 Convert 和 Cast 是两个常用的数据类型转换函数,但它们之间存在着一些关键的区别。在实际应用中,选择合适的函数可以提高编程效率和数据处理的准确性。 Convert 函数 ...
在SQL语言中,`CONVERT`和`CAST`是两种非常重要的数据类型转换函数,它们被广泛应用于各种数据库系统中,如Microsoft SQL Server、Oracle等。这两种函数的主要作用是在不改变表结构的情况下将一个表达式的值从一种...
总结来说,`CAST()` 和 `CONVERT()` 在MySQL中是不可或缺的数据类型转换工具,它们能够帮助我们灵活地处理各种数据类型,确保数据在不同的操作中保持一致性和准确性。无论是在查询、插入还是更新数据时,了解并熟练...
总之,理解SQL SERVER中CAST和CONVERT的区别,能帮助我们更有效地进行数据转换,避免因类型不匹配引发的问题,从而提升数据库操作的效率和数据的准确性。在编写SQL查询时,根据实际情况选择合适的转换方法,将有助于...
总之,理解并熟练运用`CAST`和`CONVERT`函数是SQL Server数据库开发中的基本技能,它们能够帮助我们处理各种日期和时间格式的问题,实现精细化的数据分析。在实际工作中,不断学习和实践,掌握更多的SQL技巧,对于...
sql server中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONVERT...
在SQL Server中,进行数值四舍五入操作通常有多种方法,其中最常用的函数是`ROUND`,但也可以使用`CAST`和`CONVERT`函数来实现类似的效果。本文将详细探讨这三种方法以及它们在处理四舍五入时的特点。 `ROUND`函数...
本文主要对比了三种转换函数:Cast、Convert和Parse。 1. Cast函数: Cast函数遵循ANSI SQL标准,其语法为`CAST ( expression AS data_type [ ( length ) ] )`。expression是要转换的值,data_type是目标数据类型...
`CAST()`和`CONVERT()`函数就是SQL中用于此目的的关键工具。这两个函数的主要功能是将一个数据类型的值转换为另一个数据类型,但它们在用法上略有不同。 **`CAST()`函数** `CAST()`函数的语法简洁明了,它接受两个...
总的来说,理解并熟练掌握`CAST`、`CONVERT`、`QUOTENAME`和`EXEC`这些函数,对编写健壮、灵活且安全的SQL代码至关重要。在实际的数据库管理和开发中,这些函数的应用场景广泛,能够帮助我们处理各种数据类型转换和...
SQL中的取整函数 --遇到小数位就加1,非四舍五入 select CEILING(3.1) 结果为:4 --保留两位小数 1. 使用 Round() 函数,如 Round(@num,2) ,其中参数 2 表示 保留两位有效数字。 缺点:Round() 只是负责四舍五入到...
`CAST`函数提供了一种更简洁的类型转换方式,其语法类似于`CONVERT`,但在某些数据库系统中,如PostgreSQL和SQL Server中,它可能更加直观。其语法如下: ```sql CAST(string_expression AS data_type) ``` 同样的...
本文主要介绍SQL Server中常用的转换函数,包括`CAST`、`CONVERT`以及在SQL Server 2012及更高版本中引入的容错转换函数`TRY_CAST`和`TRY_CONVERT`。 1. `CAST`和`CONVERT`函数: 这两种函数主要用于将表达式的...