Sql中的Convert转换

来源:互联网 发布:淘宝网快捷登录 编辑:程序博客网 时间:2024/05/30 04:23

select convert(varchar(2),getdate(),108)
取小时方法
convert(varchar(2),getdate(),108)意思就是返回输出格式为hh:mi:ss的前2位,也就是hh
select left(right(convert(varchar(20),getdate(),120),5),2)
取分钟的方法
120是ODBC规范,返回的格式是:yyyy-mm-dd hh:mi:ss(24h)。然后用right(express,5)取得mi:ss
最后再用left(express,2)取得mi
CONVERT和CAST提供了相似的功能,将一种数据类型的表达式显式转换为另一种数据类型的表达式。
语法:
Syntax for CAST:
CAST ( expression AS data_type [ (length ) ])
Syntax for CONVERT:
CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
参数:
expression 
任何有效的表达式。
data_type 
作为目标的系统提供数据类型。这包括 xml、bigint 和 sql_variant。不能使用别名数据类型。
length 
nchar、nvarchar、char、varchar、binary 或 varbinary 数据类型的可选参数。对于 CONVERT,如果未指定 length,则默认为 30 个字符。
style 
数据格式的样式,用于将 datetime 或 smalldatetime 数据转换成字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型),或将已知日期或时间格式的字符数据转换成 datetime 或 smalldatetime 数据;或者是字符串格式,用于将 float、real、money 或 smallmoney 数据转换成字符数据(nchar、nvarchar、char、varchar、nchar 或 nvarchar 数据类型)。如果 style 为 NULL,则返回的结果也为 NULL。
SQL Server 通过使用科威特算法来支持阿拉伯样式的日期格式。 
在下表中,左侧的两列表示将 datetime 或 smalldatetime 数据转换为字符数据的 style 值。将 style 值加 100,可获得包括世纪数位的四位年份 (yyyy)。
Sql中的Convert转换 - 若情水 - 若情水的博客
1 这些样式值将返回不确定的结果。包括所有 (yy)(不带世纪数位)样式和一部分 (yyyy)(带世纪数位)样式。
2. 默认值(style 0 或 100、9 或 109、13 或 113、20 或 120 以及 21 或 121)始终返回世纪数位 (yyyy)。
3 转换为 datetime 时输入;转换为字符数据时输出。
4 为用于 XML 而设计。对于从 datetime 或 smalldatetime 到字符数据的转换,其输出格式如上一个表所述。 
5. 回历是有多种变体的日历系统。SQL Server 2005 使用科威特算法。
默认情况下,SQL Server 基于截止年份 2049 年来解释两位数的年份。换言之,就是将两位数的年份 49 解释为 2049,将两位数的年份 50 解释为 1950。许多客户端应用程序(如基于自动化对象的应用程序)都使用截止年份 2030 年。SQL Server 提供了“两位数年份截止”配置选项,可通过此选项更改 SQL Server 使用的截止年份,从而对日期进行一致处理。建议您指定四位数年份。
6. 仅支持从字符数据转换为 datetime 或 smalldatetime。仅表示日期或时间成分的字符数据转换为 datetime 或 smalldatetime 数据类型时,未指定的时间成分设置为 00:00:00.000,未指定的日期成分设置为 1900-01-01。
7使用可选的时间区域指示符 (Z) 更便于将具有时区信息的 XML datetime 值映射到没有时区的 SQL Server datetime 值。Z 是时区 UTC-0 的指示符。其他时区则以 + 或 - 方向的 HH:MM 偏移量来指示。例如: 2006-12-12T23:45:12-08:00.
从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。使用相应的 char 或 varchar 数据类型长度从 datetime 或 smalldatetime 值转换时,可截断不需要的日期部分。
还有一个就是23,这个转换的结果是YYYY-MM-DD

在查询中的使用:select   convert(varchar(10),mydate,121) mydate  from   table1,mydate即你要查询的字段,table1即为表。

原创粉丝点击