用CONVERT 可以实现
使用 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
server程序员想将表达式从一种换为另一种,他可以从sql
server
7和2000中自带的两种功能中做出选择。在存储过程或其他情况下,我们常常需要将数据从datetime型转化成varchar型;convert和cast就可以用于这种情况。
由于sql
server提供两种功能,因此应该选择哪种功能或应该在哪种情况下使用该功能就很容易让人困惑了。convert是专对sql
server使用的,使日期与时间值,小数之间转换具有更宽的灵活性。
cast是两种功能中更具ansi标准的功能,即虽然更具便携性(比如,使用cast的函数能更容易的被其它数据库软件使用),但功能相对弱一些。不过,当小数转化为数值,并保留原始表达式中的小数数值时,仍然需要使用cast。因此,我建议首先使用cast,如果遇到必须使用convert的情况时再使用convert。
cast和convert还能联合使用,达到特殊的效果。比如,在current
date下生成char变量一般使用以下方法:
select
convert(char(10),
current_timestamp,
102)
(102表明使用了ansi日期模式,即yymmdd型)
然而,如果你希望将这个变量明确生成为datetime或smalldatetime变量,以此在特定的数据库栏中兼容,那么你可以使用以下语句:
select
cast(convert(char(10),current_timestamp,102)
as
datetime
返回值将是
yymmdd
00:00:00(如12:00am作为时间戳;
convert(要转换到的数据类型,要转换的变量或值,格式参数<没有格式参数按默认值>)你说的112,是日期格式,
年-月-日
转换为日期型时可使用日期格式样式
不带世纪数位
(yy)
带世纪数位
(yyyy)
标准
输入/输出
-
0
或
100
()
默认值
mon
dd
yyyy
hh:miAM(或
PM)
1
101
美国
mm/dd/yyyy
2
102
ANSI
yymmdd
3
103
英国/法国
dd/mm/yy
4
104
德国
ddmmyy
5
105
意大利
dd-mm-yy
6
106
-
dd
mon
yy
7
107
-
mon
dd,
yy
8
108
-
hh:mm:ss
-
9
或
109
()
默认值
+
毫秒
mon
dd
yyyy
hh:mi:ss:mmmAM(或
PM)
10
110
美国
mm-dd-yy
11
111
日本
yy/mm/dd
12
112
ISO
yymmdd
-
13
或
113
()
欧洲默认值
+
毫秒
dd
mon
yyyy
hh:mm:ss:mmm(24h)
14
114
-
hh:mi:ss:mmm(24h)
-
20
或
120
()
ODBC
规范
yyyy-mm-dd
hh:mm:ss[fff]
-
21
或
121
()
ODBC
规范(带毫秒)
yyyy-mm-dd
hh:mm:ss[fff]
-
126()
ISO8601
yyyy-mm-dd
Thh:mm:ss:mmm(不含空格)
-
130
科威特
dd
mon
yyyy
hh:mi:ss:mmmAM
-
131
科威特
dd/mm/yy
hh:mi:ss:mmmAM
时间戳(timestamp)通常是一个数字或字符串,用于表示某个时间点相对于某个基准时间的时间差。在计算机系统中,时间戳通常以UNIX时间戳形式表示,即自1970年1月1日午夜(UTC)开始所经过的秒数。储存时间戳的方式可以根据具体的需求而定。
常见的储存时间戳的方式包括:
1 整型:将时间戳转换为整型数值,例如使用Java语言的SystemcurrentTimeMillis()方法返回的就是一个整型数值。
2 字符串:将时间戳转换成特定的字符串格式,例如ISO 8601标准格式的时间戳:2022-03-01T12:05:30123Z。
3 浮点数:将时间戳转换成浮点数,例如Python语言中计算时间差使用timetime()方法得到的就是浮点数,它包含了秒和微秒信息。
4 数据库专用类型:某些数据库系统支持时间戳类型,例如MySQL的DATETIME、TIMESTAMP类型或者PostgreSQL的TIMESTAMP WITH TIME ZONE类型。
需要注意的是,在储存时间戳时,时区信息也应该被正确处理,否则可能会导致错误的时间计算。
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
比如我数据库里的字段值是2006-11-30 12:35:30
我怎么能在SQL语句中读出的值是2006-11-30呢?
解析:
select convert(char(20),getdate(),105)
29-11-2006
不带世纪数位 (yy) 带世纪数位 (yyyy)
标准
输入/输出
- 0 或 100 () 默认值 mon dd yyyy hh:miAM(或 PM)
1 101 美国 mm/dd/yyyy
2 102 ANSI yymmdd
3 103 英国/法国 dd/mm/yy
4 104 德国 ddmmyy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 () 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 () 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 () ODBC 规范 yyyy-mm-dd hh:mm:ss[fff]
- 21 或 121 () ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[fff]
- 126() ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131 科威特 dd/mm/yy hh:mi:ss:mmmAM
以上就是关于如何在sql server中把数据库中的日期字段转换为短日期格式全部的内容,包括:如何在sql server中把数据库中的日期字段转换为短日期格式、SQL中CONVERT的格式是什么、SQL数据库里CONVERT(nvarchar, 列名, 数字)语句怎么用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)