首页 > 数据库 >SQL 中使用 CONVERT转日期格式

SQL 中使用 CONVERT转日期格式

时间:2024-02-28 09:34:29浏览次数:31  
标签:CONVERT 12 varchar dd SQL 格式 select getdate

以下两种情况是相同的

select * from Employee where UpdateTime >= convert(char(23), '2024-02-26 00:00:00.00', 121) and UpdateTime <= convert(char(23), '2024-02-27 23:59:59.999', 121)
select* from Employee where UpdateTime >= '2024-02-26 00:00:00.00' and UpdateTime <= '2024-02-27 23:59:59.999'

 

 

CONVERT

将某种数据类型的表达式显式转换为另一种数据类型。由于某些需求经常用到取日期格式的不同 .现以下可在
SQL Server中 将日期格式化 .

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

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

不带世纪数位(yy )

带世纪数位 (yyyy )


标准


输入 /输出 * *

-

0 或 100 (*)

默认值

mon dd yyyy hh:miAM(或 PM)

1

101

美国

mm/dd/yyyy

2

102

ANSI

yy.mm.dd

3

103

英国 /法国

dd/mm/yy

4

104

德国

dd.mm.yy

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

默认值( style 0 或 100、 9 或 109、 13 或 113、 20 或 120、 21 或 121)始终返回世纪数位 (yyyy)。

当转换为 datetime 时输入;当转换为字符数据时输出。

专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、 money或 smallmoney 到character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。

重要    默认情况下, SQL Server 根据截止年份 2049 解释两位数字的年份。即,两位数字的年份 49 被解释为 2049,而两位数字的年份 50 被解释为 1950。许多客户端应用程序(例如那些基于 OLE 自动化对象的客户端应用程序)都使用 2030 作为截止年份。 SQL Server 提供一个配置选项( "两位数字的截止年份 "),借以更改 SQL Server 所使用的截止年份并对日期进行一致性处理。然而最安全的办法是指定四位数字年份。

当从 smalldatetime 转换为字符数据时,包含秒或毫秒的样式将在这些位置上显示零。当从 datetime 或 smalldatetime 值进行转换时,可以通过使用适当的 char 或 varchar 数据类型长度来截断不需要的日期部分。

下表显示了从 float 或 real 转换为字符数据时的 style 值。

输出

0(默认值)

最大为 6 位数。根据需要使用科学记数法。

1

始终为 8 位值。始终使用科学记数法。

2

始终为 16 位值。始终使用科学记数法。

在下表中,左列表示从 money 或 smallmoney 转换为字符数据时的 style 值。

输出

0(默认值)

小数点左侧每三位数字之间不以逗号分隔,小数点右侧取两位数,例如 4235.98。

1

小数点左侧每三位数字之间以逗号分隔,小数点右侧取两位数,例如 3,510.92。

2

小数点左侧每三位数字之间不以逗号分隔,小数点右侧取四位数,例如 4235.9819。

使用 CONVERT:

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

select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),"-","")," ",""),":","")
20040912110608

select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(12) , getdate(), 112 )
20040912

select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12

select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(12) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(12) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(12) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

 

标签:CONVERT,12,varchar,dd,SQL,格式,select,getdate
From: https://www.cnblogs.com/zhaotiantian/p/18039002

相关文章

  • 【MySQL】【锁的前置知识】数据库的锁有哪些?怎么看?锁的是什么?什么情况下会加什么锁?什
    1 前言数据库中的锁,是一个很大的问题,从哪看起呢?该怎么看呢?所以在看锁之前,了解一些相关的前置知识,然后再去细看不同的场景下会加什么样的锁方便你快速理解。官网,当然我们这里看的引擎是InnoDB哈,那我们从以下几个问题看起:(1)数据库中的锁有哪些(怎么知道呢,网上的文章五花八门的......
  • 3d max的obj文件格式说明
    OBJ文件格式是一种常见的3D模型文件格式,它包含了模型的几何形状、材质、纹理等信息。下面是OBJ文件格式的一些基本信息:OBJ文件由一系列文本行组成,每行以一个关键字开头,关键字后面跟着一些参数。OBJ文件中最常见的关键字有以下几个:v:定义一个顶点,后面跟着该顶点的x、y、z......
  • 从sql注入到web安全
    一、事情起因去年底的时候我看到几个国内开源框架又出来SQL注入,联想起HVV时候的各种OA、ERP的SQL注入。我觉得SQL注入这个事情是该有人管管了。二、Mybatis的一点回顾https://github.com/mybatis/mybatis-3/issues/1941如上,我在2020年开始就一直在和官方讨论${}的风险问题,官......
  • 在spark sql中解析json格式数据
    一、实际的sql语句:selectapp_id,event_time, event, spm_b_code, spm_c_code, spm_d_code, spm_biz_type, user_id, user_id_type, seat_code, spm_content_type, sourcefromxxx_yyy_zzztlateralview_json_tuplet(t.ext_props,......
  • ctfshow sql注入练习记录
    前言:继续做ctfshow的题了,本次为sql注入专题,从ctfshowweb177开始ctfshowweb177对空格,--+进行了过滤,注释符要换成#的url编码%23使用万能密码可以绕过1'or'1'='1';%23也可也使用/**/对空格进行绕过,进行联合查询-1'union/**/select/**/1,2,password/**/from/**/ctfshow_use......
  • convertRes2Blob
    exportconstconvertRes2Blob=(response,name)=>{//提取文件名constmatch=response.headers['content-disposition']?.match(/filename=(\S*)$/)||[]constfileName=decodeURIComponent(match[1]||name)//将二进制流转为blobconstblob......
  • asp.net quartz 定时器 miniapi sqlite数据库 cors
    dotnet_miniapi_quartz_ipaddress_check/Dtos.csusingSystem.ComponentModel.DataAnnotations;namespaceGameStore.Api.Dtos;publicrecordIpAddressDto(Guidid,stringip,stringname,stringdomain,......
  • 修复sqlite3数据库 database disk image is malformed
    databasediskimageismalformed错误sqlite是一个文本型数据库,其内部虽然做了异常处理,且官网上也说一般的异常不会引起数据库文件损坏,但是官方还是给出了有可能导致数据库文件损坏的情况。以下内容来自官网:SQLite经过非常仔细的测试,以帮助确保它尽可能没有错误。对每个SQ......
  • Python脚本给数据库插入数据报错: raise errorclass(errno, errval) pymysql.err.Integ
    一、问题描述在SQL客户端插入数据时执行SQL语句INSERTINTOuser_xxx(id,uid,total,balance,wallet_type,ctime,utime)VALUES(0,'336448391',271,89000098,'coin',1708588247,1709007766);可以成功执行没报错;使用python脚本执行SQL语句INSERTINTOuser_xxx......
  • 使用Navicat打开加密SQLite数据库
    参考使用Navicat打开加密SQLite数据库_加密的数据库文件怎么打开-CSDN博客1.在Nuget搜索并安装SQLitePCLRaw.bundle_e_sqlcipher2.打开项目所在路径,按照下面的路径找到e_sqlcipher.dll文件(根据安装的Navicat版本选择win-x64或者win-x86)3.打开Navicat的安装目录,该目录下有个sq......