datetime转varchar

合集下载

SQL中CONVERT及CAST转化函数的用法

SQL中CONVERT及CAST转化函数的用法
------------------------------------------------------------------------------------------------------------
8 | 108 | hh:mm:ss
------------------------------------------------------------------------------------------------------------
3 | 103 英法 | dd/mm/yy
------------------------------------------------------------------------------------------------------------
21 | 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)
SELECT CONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECT CONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECT CONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECT CONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECT CONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECT CONVERT(varchar(100), GETDATE(), 6): 16 05 06
------------------------------------------------------------------------------------------------------------

SQL按日期Datatime来比较大小

SQL按日期Datatime来比较大小

所得结果包括2010-09-20这一天的记录,因为成型日期中的形式是2010-09-20 00:00:00
select * from IS_生产进度表视图1 where convert(varchar(10),成型日期,120)>'2010-09-20'
所得结果不包含2010-09-20,因为成型日期已被转化为varchar类型,形式是2010-09-20,应该用此方法
/* 定义开始日期和结束日期*/
declare @date_a datetime,@date_b datetime
set @date_a='2009-2-10'
set @date_b='2009-2-12'
/* 在日期date_a(包含) 和date_b(不包含) 之间*/
注意转化后,格式是2010-01-01这种类型,所以写条件时,日期也应写为此格式
二、C#里面比较时间大小三种方法
1、比较时间大小的实验
string st1="12:13"; string st2="14:14"; DateTime dt1=Convert.ToDateTime(st1); DateTime dt2=Convert.ToDateTime(st2); DateTime dt3=DateTime.Now; if(pare(dt1,dt2)>0) msg.Text=st1+">"+st2; else msg.Text=st1+"<"+st2; msg.Text+="rn"+dt1.ToString(); if(pare(dt1,dt3)>0) msg.Text+="rn"+st1+">"+dt3.ToString(); else msg.Text+="rn"+st1+"<"+dt3.ToString();

sql语句中对datetime日期类型进行修改语句

sql语句中对datetime日期类型进行修改语句

sql语句中对datetime⽇期类型进⾏修改语句1:dateadd函数在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值:有个表D_data,其中有字段D_time,内容格式“1/18/2010 5:32:24 AM ”(国外的数据库)它记录了数据添加的时间,所以⽇期后⾯的时间是经常变动的。

现在我只想改变前⾯的⽇期,后⾯的时间不变。

例如,我想把id⼤于2000的数据⽇期改成5天前的语句:update D_data set D_time = dateadd(day,-5,D_time) where id > 2000update D_data set D_time = dateadd(dd,-5,D_time) where id > 2000update D_data set D_time =D_time -5 where id > 20002:DATEDIFF 函数:语法:DATEDIFF (datepart,startdate,enddate)--查询当天:select * from info where DateDiff(dd,datetime,getdate())=0--查询24⼩时内的:select * from info where DateDiff(hh,datetime,getDate())<=24--本⽉记录Select * FROM 表 Where datediff(month,[dateadd],getdate())=0--本周记录Select * FROM 表 Where datediff(week,[dateadd],getdate())=0(说明:info为表名,datetime为数据库中的字段值)3:SQL Server CONVERT() 函数定义和⽤法CONVERT() 函数是把⽇期转换为新数据类型的通⽤函数。

CONVERT() 函数可以⽤不同的格式显⽰⽇期/时间数据。

数据库convert用法

数据库convert用法

数据库convert用法1. 介绍数据库convert用法是指在数据库操作中使用convert函数进行数据类型转换的一种方法。

在数据库中,不同的列可能存储不同的数据类型,而有时候我们需要将某个列的数据类型转换为另一个类型以满足特定的需求。

2. convert函数的基本语法convert函数通常有两个参数,第一个参数是需要转换的表达式或列名,第二个参数是目标数据类型。

它的基本语法如下:CONVERT(expression, data_type)其中,expression是需要转换的表达式或列名,data_type是目标数据类型。

3. 数据类型转换的常见场景数据库convert用法在以下场景中非常常见:3.1 字符串转换为数字有时候我们需要将一个字符串类型的列转换为数字类型,以便进行数值计算或排序。

在这种情况下,我们可以使用convert函数将字符串转换为数字。

例如:SELECT CONVERT('123', INT)这将返回整数类型的值123。

3.2 数字转换为字符串有时候我们需要将一个数字类型的列转换为字符串类型,以便进行字符串操作或连接。

在这种情况下,我们可以使用convert函数将数字转换为字符串。

例如:SELECT CONVERT(123, VARCHAR)这将返回字符串类型的值”123”。

3.3 日期转换为字符串有时候我们需要将一个日期类型的列转换为字符串类型,以便进行日期格式化或拼接。

在这种情况下,我们可以使用convert函数将日期转换为字符串。

例如:SELECT CONVERT(GETDATE(), VARCHAR)这将返回当前日期的字符串表示。

3.4 字符串转换为日期有时候我们需要将一个字符串类型的列转换为日期类型,以便进行日期比较或计算。

在这种情况下,我们可以使用convert函数将字符串转换为日期。

例如:SELECT CONVERT('2022-01-01', DATE)这将返回日期类型的值2022-01-01。

sql日期转字符串函数

sql日期转字符串函数

在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的。

本文我们主要就介绍一下SQL Server日期时间转字符串的相关知识,接下来就让我们一起来了解一下这部分内容。

日期时间转字符串:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-06Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDATE(), 112): 20060516Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM在SQL数据库中,有一类函数是不得不提的,那就是SQL Server日期时间函数,这是SQL Server 处理日期和时间最常用的函数,下面就将为介绍这类函数。

SQLServer中使用convert进行日期转换

SQLServer中使用convert进行日期转换

SQLServer中使⽤convert进⾏⽇期转换Sql Server Convert函数进⾏⽇期转换⼀般存⼊数据库中的时间格式为yyyy-mm-ddhh:mm:ss 如果要转换为yyyy-mm-dd 短⽇期格式.可以使⽤convert函数.下⾯是sqlserver帮助中关于convert函数的声明:使⽤ CONVERT:CONVERT (data_type[(length)],expression[,style])expression是任何有效的 Microsoft® SQL Server™ 表达式。

data_type⽬标系统所提供的数据类型,包括bigint和sql_variant。

不能使⽤⽤户定义的数据类型。

lengthnchar、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)。

不带世纪数位 (yy)带世纪数位 (yyyy)标准输⼊/输出**-0 或 100 (*)默认值mon dd yyyy hh:miAM(或 PM)1101美国mm/dd/yyyy2102ANSI yy.mm.dd3103英国/法国dd/mm/yy4104德国dd.mm.yy5105意⼤利dd-mm-yy6106-dd mon yy7107-mon dd, yy8108-hh:mm:ss-9 或 109 (*)默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或PM)10110美国mm-dd-yy11111⽇本yy/mm/dd12112ISO yymmdd-13 或 113 (*)欧洲默认值 + 毫秒dd mon yyyy hh:mm:ss:mmm(24h) 14114-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(***)ISO8601yyyy-mm-dd Thh:mm:ss:mmm(不含空格)-130*科威特dd mon yyyy hh:mi:ss:mmmAM-131*科威特dd/mm/yy hh:mi:ss:mmmAM* 默认值(style0 或 100、9 或 109、13 或 113、20 或 120、21 或 121)始终返回世纪数位 (yyyy)。

sql的datetime数据类型

sql的datetime数据类型
(100), GETDATE(), 107):
05 16, 2006
SELECT CONVERT(varchar
(100), GETDATE(), 108):
10:57:49
SELECTCONVERT(varchar
(100),GETDATE(), 109):10:57:49:437AMSELECT CONVERT(varchar
style
日期格式样式,借以将datetime或smalldatetime数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型);或者字符串格式样式,借以将float、real、money或smallmoney数据转换为字符数据(nchar、nvarchar、char、varchar、nchar或nvarchar数据类型)。
(100), GETDATE(), 104):
16."0
5."2006
SELECT CONVERT(varchar
(100), GETDATE(), 105):
16-05-2006
SELECT CONVERT(varchar
(100), GETDATE(), 106):
16 05 2006
SELECT CONVERT(varchar
(100), GETDATE(), 113):
16 05 2006 10:57:49:513SELECT CONVERT(varchar
(100), GETDATE(), 114):
10:57:49:547
SELECT CONVERT(varchar
(100), GETDATE(), 120):
2006-05-16 10:57:49SELECT CONVERT(varchar

Sql中将datetime转换成字符串的方法(CONVERT)

Sql中将datetime转换成字符串的方法(CONVERT)

一、回顾一下CONVERT()的语法格式:CONVERT (&lt;data_ type&gt;[ length ],&lt;expression&gt; [,style])二、这里注重说明一下style的含义:style 是将DATATIME 和SMALLDATETIME 数据转换为字符串时所选用的由SQL Server 系统提供的转换样式编号,不同的样式编号有不同的输出格式;一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.三、下表是SQL Server 系统提供的转换样式编号:表中‘*'表示的含义说明:* 默认值(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。

**** Hijri 是具有几种变化形式的日历系统,Microsoft? SQL Server? 2000 使用其中的科威特算法。

四、不带世纪数位的实例代码(注释的表示非有效的样式号):代码如下:SELECT CONVERT(varchar(100), GETDA TE(), 0) AS Style0SELECT CONVERT(varchar(100), GETDA TE(), 1) AS Style1SELECT CONVERT(varchar(100), GETDA TE(), 2) AS Style2SELECT CONVERT(varchar(100), GETDA TE(), 3) AS Style3SELECT CONVERT(varchar(100), GETDA TE(), 4) AS Style4SELECT CONVERT(varchar(100), GETDA TE(), 5) AS Style5SELECT CONVERT(varchar(100), GETDA TE(), 6) AS Style6SELECT CONVERT(varchar(100), GETDA TE(), 7) AS Style7SELECT CONVERT(varchar(100), GETDA TE(), 8) AS Style8SELECT CONVERT(varchar(100), GETDA TE(), 9) AS Style9SELECT CONVERT(varchar(100), GETDA TE(), 10) AS Style10SELECT CONVERT(varchar(100), GETDA TE(), 11) AS Style11SELECT CONVERT(varchar(100), GETDA TE(), 12) AS Style12SELECT CONVERT(varchar(100), GETDA TE(), 13) AS Style13SELECT CONVERT(varchar(100), GETDA TE(), 14) AS Style14--SELECT CONVERT(varchar(100), GETDATE(), 15) AS Style15--SELECT CONVERT(varchar(100), GETDATE(), 16) AS Style16--SELECT CONVERT(varchar(100), GETDATE(), 17) AS Style17--SELECT CONVERT(varchar(100), GETDATE(), 18) AS Style18--SELECT CONVERT(varchar(100), GETDATE(), 19) AS Style19SELECT CONVERT(varchar(100), GETDA TE(), 20) AS Style21SELECT CONVERT(varchar(100), GETDA TE(), 21) AS Style21SELECT CONVERT(varchar(100), GETDA TE(), 22) AS Style22SELECT CONVERT(varchar(100), GETDATE(), 23) AS Style23SELECT CONVERT(varchar(100), GETDA TE(), 24) AS Style24SELECT CONVERT(varchar(100), GETDA TE(), 25) AS Style25--SELECT CONVERT(varchar(100), GETDATE(), 26) AS Style26 --SELECT CONVERT(varchar(100), GETDATE(), 27) AS Style27 --SELECT CONVERT(varchar(100), GETDATE(), 28) AS Style28 --SELECT CONVERT(varchar(100), GETDATE(), 29) AS Style29 --SELECT CONVERT(varchar(100), GETDATE(), 30) AS Style30 --SELECT CONVERT(varchar(100), GETDATE(), 31) AS Style31 运行结果:五、带世纪数位的实例代码(注释的表示非有效的样式号):代码如下:SELECT CONVERT(varchar(100), GETDA TE(), 100) AS Style100 SELECT CONVERT(varchar(100), GETDA TE(), 101) AS Style101 SELECT CONVERT(varchar(100), GETDA TE(), 102) AS Style102 SELECT CONVERT(varchar(100), GETDA TE(), 103) AS Style103 SELECT CONVERT(varchar(100), GETDA TE(), 104) AS Style104 SELECT CONVERT(varchar(100), GETDA TE(), 105) AS Style105 SELECT CONVERT(varchar(100), GETDA TE(), 106) AS Style106 SELECT CONVERT(varchar(100), GETDATE(), 107) AS Style107 SELECT CONVERT(varchar(100), GETDA TE(), 108) AS Style108 SELECT CONVERT(varchar(100), GETDA TE(), 109) AS Style109 SELECT CONVERT(varchar(100), GETDA TE(), 110) AS Style110 SELECT CONVERT(varchar(100), GETDA TE(), 111) AS Style111 SELECT CONVERT(varchar(100), GETDA TE(), 112) AS Style112 SELECT CONVERT(varchar(100), GETDA TE(), 113) AS Style113 SELECT CONVERT(varchar(100), GETDA TE(), 114) AS Style114 --SELECT CONVERT(varchar(100), GETDATE(), 115) AS Style115 --SELECT CONVERT(varchar(100), GETDATE(), 116) AS Style116 --SELECT CONVERT(varchar(100), GETDATE(), 117) AS Style117 --SELECT CONVERT(varchar(100), GETDATE(), 118) AS Style118 --SELECT CONVERT(varchar(100), GETDATE(), 119) AS Style119 SELECT CONVERT(varchar(100), GETDA TE(), 120) AS Style121 SELECT CONVERT(varchar(100), GETDA TE(), 121) AS Style121 --SELECT CONVERT(varchar(100), GETDATE(), 122) AS Style122 --SELECT CONVERT(varchar(100), GETDATE(), 123) AS Style123 --SELECT CONVERT(varchar(100), GETDATE(), 124) AS Style124 --SELECT CONVERT(varchar(100), GETDATE(), 125) AS Style125 SELECT CONVERT(varchar(100), GETDA TE(), 126) AS Style126 SELECT CONVERT(varchar(100), GETDA TE(), 127) AS Style127 --SELECT CONVERT(varchar(100), GETDATE(), 128) AS Style128 --SELECT CONVERT(varchar(100), GETDATE(), 129) AS Style129 SELECT CONVERT(varchar(100), GETDA TE(), 130) AS Style130 SELECT CONVERT(varchar(100), GETDA TE(), 131) AS Style131 运行结果:SQL将datetime转化为字符串并截取字符串代码如下:select sr_child as '孩子姓名', sr_parents as '家长姓名' ,ss_updatetime as '分配时间', left(ss_updatetime,CHARINDEX(' ',ss_updatetime)-1),SUBSTRING(CONVERT(CHAR(19), ss_updatetime, 120),1,10)as '转换格式并截取后的时间'from dbo.tb_sell_resources,dbo.tb_sell_selldetails where sr_id = ss_rsid and ss_qdstate &lt;&gt; 1 order by ss_updatetimesql 中字符串截取函数:SUBSTRING(name,start,end)name:字符串格式的字段名start:规定开始位置(起始值是1)end:截取字符串结束的位置sql 中Datetime格式转换为字符串格式:2000-01-01 01:01:01(Datetime)CONVERT(CHAR(19), CURRENT_TIMESTAMP, 120)CURRENT_TIMESTAMP:当前时间(此处可以写Datetime格式的字段名,例如ss_updatetime)其余的参数(CHAR(19), 120等)不用修改使用之后2000-01-01 01:01:01(Datetime)变为2000-01-01 01:01:01(字符串格式)更多信息请查看IT技术专栏。

SQL Server日期时间格式转换字符串详解

SQL Server日期时间格式转换字符串详解

SQL Server日期时间格式转换字符串详解2011-08-22 10:59 薄祥雷博客园字号:T | T本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助。

AD:在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的。

本文我们主要就介绍一下SQL Server 日期时间转字符串的相关知识,接下来就让我们一起来了解一下这部分内容。

日期时间转字符串:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 1): 05/16/06Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDATE(), 10): 05-16-06Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDATE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDATE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDATE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDATE(), 112): 20060516Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM在SQL数据库中,有一类函数是不得不提的,那就是SQL Server日期时间函数,这是SQL Server处理日期和时间最常用的函数,下面就将为介绍这类函数。

SQLServer格式化日期

SQLServer格式化日期

SQLServer格式化⽇期 SQL Server 格式化⽇期 CONVERT将某种数据类型的表达式显式转换为另⼀种数据类型。

由于某些需求经常⽤到取⽇期格式的不同.现以下可在SQL Server中 将⽇期格式化.SQL Server ⽀持使⽤科威特算法的阿拉伯样式中的数据格式。

在表中,左侧的两列表⽰将 datetime或 smalldatetime 转换为字符数据的style值。

给style值加 100,可获得包括世纪数位的四位年份 (yyyy)。

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

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

*** 专门⽤于。

对于从 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 数据类型长度来截断不需要的⽇期部分。

Sql日期时间格式转换

Sql日期时间格式转换

Sql日期时间格式转换Sql日期时间格式转换日期数据格式的处理,两个示例:CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/CONVERT(varchar(10), 时间一, 23) 结果:2007-02-01 /*varchar(10)表示日期输出的格式,如果不够长会发生截取*/语句及查询结果:Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDA TE(), 1): 05/16/06Select CONVERT(varchar(100), GETDA TE(), 2): 06.05.16Select CONVERT(varchar(100), GETDA TE(), 3): 16/05/06Select CONVERT(varchar(100), GETDA TE(), 4): 16.05.06Select CONVERT(varchar(100), GETDA TE(), 5): 16-05-06Select CONVERT(varchar(100), GETDA TE(), 6): 16 05 06Select CONVERT(varchar(100), GETDA TE(), 7): 05 16, 06Select CONVERT(varchar(100), GETDA TE(), 8): 10:57:46Select CONVERT(varchar(100), GETDA TE(), 9): 05 16 2006 10:57:46:827AMSelect CONVERT(varchar(100), GETDA TE(), 10): 05-16-06Select CONVERT(varchar(100), GETDA TE(), 11): 06/05/16Select CONVERT(varchar(100), GETDA TE(), 12): 060516Select CONVERT(varchar(100), GETDA TE(), 13): 16 05 2006 10:57:46:937Select CONVERT(varchar(100), GETDA TE(), 14): 10:57:46:967Select CONVERT(varchar(100), GETDA TE(), 20): 2006-05-16 10:57:47Select CONVERT(varchar(100), GETDA TE(), 21): 2006-05-16 10:57:47.157Select CONVERT(varchar(100), GETDA TE(), 22): 05/16/06 10:57:47 AMSelect CONVERT(varchar(100), GETDA TE(), 23): 2006-05-16Select CONVERT(varchar(100), GETDA TE(), 24): 10:57:47Select CONVERT(varchar(100), GETDA TE(), 25): 2006-05-16 10:57:47.250Select CONVERT(varchar(100), GETDA TE(), 100): 05 16 2006 10:57AMSelect CONVERT(varchar(100), GETDA TE(), 101): 05/16/2006Select CONVERT(varchar(100), GETDA TE(), 102): 2006.05.16Select CONVERT(varchar(100), GETDA TE(), 103): 16/05/2006Select CONVERT(varchar(100), GETDA TE(), 104): 16.05.2006Select CONVERT(varchar(100), GETDA TE(), 105): 16-05-2006Select CONVERT(varchar(100), GETDA TE(), 106): 16 05 2006Select CONVERT(varchar(100), GETDA TE(), 107): 05 16, 2006Select CONVERT(varchar(100), GETDA TE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONVERT(varchar(100), GETDA TE(), 110): 05-16-2006Select CONVERT(varchar(100), GETDA TE(), 111): 2006/05/16Select CONVERT(varchar(100), GETDA TE(), 112): 20060516Select CONVERT(varchar(100), GETDA TE(), 113): 16 05 2006 10:57:49:513Select CONVERT(varchar(100), GETDA TE(), 114): 10:57:49:547Select CONVERT(varchar(100), GETDA TE(), 120): 2006-05-16 10:57:49Select CONVERT(varchar(100), GETDA TE(), 121): 2006-05-16 10:57:49.700Select CONVERT(varchar(100), GETDA TE(), 126): 2006-05-16T10:57:49.827Select CONVERT(varchar(100), GETDA TE(), 130): 18 ???? ?????? 1427 10:57:49:907AM Select CONVERT(varchar(100), GETDA TE(), 131): 18/04/1427 10:57:49:920AM说明:使用CONVERT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )参数expression是任何有效的Microsoft® SQL Server™ 表达式。

SQLServer日期函数及日期转换数据类型

SQLServer日期函数及日期转换数据类型

SQLServer⽇期函数及⽇期转换数据类型⼀、统计语句1、--统计当前【>当天00点以后的数据】SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDER BY dateandtime DESC2、--统计本周SELECT * FROM 表 WHERE datediff(week,[dateadd],getdate())=03、--统计本⽉SELECT * FROM 表 WHERE datediff(month,[dateadd],getdate())=04、统计当前SELECT * FROM 表 WHERE datediff(day,[dateadd],getdate())=0Select * From table with(nolock) Where Convert(varchar(10),[CreateTime],120) = Convert(varchar(10),getDate(),120)⼆、时间函数1、当前系统⽇期、时间select getdate()2、dateadd 在向指定⽇期加上⼀段时间的基础上,返回新的 datetime 值,例如:向⽇期加上2天select dateadd(day,2,'2004-10-15') --返回:2004-10-17 00:00:00.0003、datediff 返回跨两个指定⽇期的⽇期和时间边界数select datediff(day,'2004-09-01','2004-09-18') --返回:174、datepart 返回代表指定⽇期的指定⽇期部分的整数SELECT DATEPART(month, '2004-10-15') --返回 105、datename 返回代表指定⽇期的指定⽇期部分的字符串SELECT datename(weekday, '2004-10-15') --返回:星期五6、day(), month(),year() --可以与datepart对照⼀下select 当前⽇期=convert(varchar(10),getdate(),120),select 当前时间=convert(varchar(8),getdate(),114),select datename(dw,'2004-10-15')select 本年第多少周=datename(week,'2004-10-15'),select 今天是周⼏=datename(weekday,'2004-10-15')7、求相差天数select datediff(day,'2004-01-01',getdate())8、⼀个⽉第⼀天的SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)9、本周的星期⼀SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)select dateadd(wk,datediff(wk,0,getdate()),6)10、⼀年的第⼀天SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)11、季度的第⼀天SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)12、当天的半夜SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)13、上个⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))14、去年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))15、本⽉的最后⼀天SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))16、本年的最后⼀天SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))17、本⽉的第⼀个星期⼀select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0) 18、查询本周注册⼈数select count(*) from [user]where datediff(week,create_day-1,getdate())=019、上周注册⼈数select count(*) from [user]where datediff(week,create_day-1,getdate())=120、本⽉注册⼈数select count(*) from [user]where datediff(month,create_day,getdate())=021、上⽉注册⼈数select count(*) from [user]where datediff(month,create_day,getdate())=1如果要效率,⽤⼀下⽅式22、查询本周注册⼈数select count(*) from [user]where create_day>=dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,9-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 23、上周注册⼈数select count(*) from [user]where create_day>=dateadd(day,-5-datepart(weekday,getdate()),convert(varchar,getdate(),112)) and create_day<dateadd(day,2-datepart(weekday,getdate()),convert(varchar,getdate(),112)) 24、本⽉注册⼈数select count(*) from [user]where create_day>=dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))and create_day<dateadd(month,1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) 25、上⽉注册⼈数select count(*) from [user]where create_day>=dateadd(month,-1,dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))) and create_day<dateadd(day,1-day(getdate()),convert(varchar,getdate(),112))26、本周select count(*) from Userwhere datediff(dd,create_day,getdate()) <= datepart(dw,getdate())27、上周select count(*) from Userwhere datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 728、本⽉select count(*) from Userwhere datepart(mm,create_day) = datepart(mm,getdate())29、上⽉select count(*) from Userwhere datepart(mm,create_day) = datepart(mm,getdate()) - 130、本周注册⼈数select count(*) from [User]where datediff(dd,create_day,getdate()) <= datepart(dw,getdate())31、上周注册⼈数select count(*) from [User]where datediff(dd,create_day,(getdate() - datepart(dw,getdate()))) <= 732、本⽉注册⼈数select count(*) from [User]where datepart(mm,create_day) = datepart(mm,getdate())33、上⽉注册⼈数select count(*) from [User]where datepart(mm,create_day) = datepart(mm,getdate()) - 134、查询今⽇所有SELECT * from feedback WHERE (DATEDIFF(d,fedtime,GETDATE())=0) ORDER BY fedid DESC month(create_day)=month(getdate())本⽉month(create_day)=month(getdate())-1 上⽉今天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=0昨天的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())=17天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=730天内的所有数据:select * from 表名 where DateDiff(dd,datetime类型字段,getdate())<=30本⽉的所有数据:select * from 表名 where DateDiff(mm,datetime类型字段,getdate())=0本年的所有数据:select * from 表名 where DateDiff(yy,datetime类型字段,getdate())=0系统函数:系统函数函数参数/功能GetDate( )返回系统⽬前的⽇期与时间DateDiff (interval,date1,date2)以interval 指定的⽅式,返回date2 与date1两个⽇期之间的差值 date2-date1DateAdd (interval,number,date)以interval指定的⽅式,加上number之后的⽇期DatePart (interval,date)返回⽇期date中,interval指定部分所对应的整数值DateName (interval,date)返回⽇期date中,interval指定部分所对应的字符串名称参数 interval的设定值:值缩写(Sql Server)Access 和 ASP说明Year Yy yyyy年 1753 ~ 9999Quarter Qq q季 1 ~ 4Month Mm m⽉1 ~ 12Day of yearDy y⼀年的⽇数,⼀年中的第⼏⽇ 1-366Day Dd d⽇,1-31Weekday Dw w⼀周的⽇数,⼀周中的第⼏⽇ 1-7Week Wk ww周,⼀年中的第⼏周 0 ~ 51Hour Hh h时0 ~ 23Minute Mi n分钟0 ~ 59Second Ss s秒 0 ~ 59Millisecond Ms-毫秒 0 ~ 999access 和 asp 中⽤date()和now()取得系统⽇期时间;其中DateDiff,DateAdd,DatePart也同是能⽤于Access和asp中,这些函数的⽤法也类似举例:1.GetDate() ⽤于sql server :select GetDate()2.DateDiff('s','2005-07-20','2005-7-25 22:56:32')返回值为 514592 秒DateDiff('d','2005-07-20','2005-7-25 22:56:32')返回值为 5 天3.DatePart('w','2005-7-25 22:56:32')返回值为 2 即星期⼀(周⽇为1,周六为7)DatePart('d','2005-7-25 22:56:32')返回值为 25即25号DatePart('y','2005-7-25 22:56:32')返回值为 206即这⼀年中第206天DatePart('yyyy','2005-7-25 22:56:32')返回值为 2005即2005年Sql 取当天或当⽉的记录表中的时间格式是这样的:2007-02-02 16:50:08.050, 如果直接和当天的时间⽐较,就总得不到准确数据,但是我们可以把这种格式的时间[格式化]成 2007-02-02,也就是只有年-⽉-⽇,然后把当天的时间也格式化成年-⽉-⽇的格式.这样,思路就出来了!我们格式化⽇期要⽤到 Convert()这个函数,要⽤到3个参数,⾸先来格式化当天的⽇期,Convert(varchar(10),getDate(),120)这样我们就可以把当天的⽇期格式化为: 2007-2-2,然后格式化数据库表中的⽇期Convert(varchar(10),TimeFiled,120),最后我们就可以⽤⼀条Sql语句得到当天的数据了.例如:转⾃⽹络程序代码Select * From VIEW_CountBill Where Convert(varchar(10),[time],120) = Convert(varchar(10),getDate(),120)注意:Convert()函数中的各个参数的意义,第⼀个参数,varchar(10)是⽬标系统所提供的数据类型,包括 bigint 和 sql_variant。

mysql数字类型转换函数(concatcast)

mysql数字类型转换函数(concatcast)

1、将Int 转为varchar经常用concat函数,比如concat(8,’0′) 得到字符串’80′2、将varchar 转为Int 用cast(a as signed) a为varchar类型的字符串总结:类型转换和SQL Server一样,就是类型参数有点点不同: CAST(xxx AS 类型) , CONVERT(xxx,类型)可用的类型二进制,同带binary前缀的效果: BINARY字符型,可带参数: CHAR()日期: DATE时间: TIME日期时间型: DATETIME浮点数: DECIMAL整数: SIGNED无符号整数: UNSIGNEDcast函数运行示例mysql> select cast(’125e342.83′ as signed) as clm1, cast(‘foo seo 589′ as sig ned) as clm2,cast(’3.35′ as signed) as clm3;+——+——+——+| clm1 | clm2 | clm3 |+——+——+——+| 125 | 0 | 3 |+——+——+——+1 row in set, 3 warnings (0.00 sec)mysql>CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transco ding_name)CAST() 和CONVERT() 函数可用来获取一个类型的值,并产生另一个类型的值。

这个类型可以是以下值其中的一个:BINARY[(N)]CHAR[(N)]DATEDATETIMEDECIMALSIGNED [INTEGER]TIMEUNSIGNED [INTEGER]。

日期处理datetime和date之间的相互转换

日期处理datetime和date之间的相互转换

⽇期处理datetime和date之间的相互转换⽇期处理datetime和date之间的相互转换 (转载)⽇期是数据处理中经常使⽤到的信息之⼀。

⽣⽇、数据处理时间、计划的预计完成时间,按年、季、⽉的统计,这些都属于⽇期处理的范畴。

由于⽇期中包含了年、季、⽉、⽇等众多信息,不同的国家对⽇期格式、⽇期⽂字描述及星期有不同的规定,因此产⽣了⽇期处理的复杂性。

本章主要讨论在SQL Server数据库中对⽇期的各种处理⽅法。

⽇期类型概述SQL Server中的⽇期类型包括datetime和smalldatetime,仅能处理可以识别为1753年~9999年间的⽇期的值,没有单独的⽇期型或时间型。

1.datetimedatetime类型处理从1753年1⽉1⽇~9999年12⽉31⽇的⽇期和时间数据,精确度为百分之三秒。

即:对于0.000~0.001、0.009的⽇期值,调整为0.000;对于0.002~0.004的⽇期值,调整为0.003;对于0.005~0.008的⽇期值,调整为0.007。

例如,下⾯的代码在输⼊时,其时间精确度为百分之⼀秒,但经数据库保存后再显⽰出来,其结果就已经做了处理。

DECLARE @t TABLE(date char(21))INSERT @t SELECT '1900-1-1 00:00:00.000'...INSERT @t SELECT '1900-1-1 00:00:00.009'SELECT date,转换后的⽇期=CAST(date as datetime) FROM @t/*--结果date 转换后的⽇期---------------------------------- ----------------------------1900-1-1 00:00:00.000 1900-01-01 00:00:00.000...1900-1-1 00:00:00.000 1900-01-01 00:00:00.010--*/datetime的存储长度为8字节,⽇期和时间各⽤4个字节存储,第⼀个4字节存储⾃1900年1⽉1⽇之前或之后的天数(以1900年1⽉1⽇为分界点,在1900年1⽉1⽇之前的⽇期的天数⼩于0,在1900年1⽉1⽇之后的⽇期的天数⼤于0)。

sql server中datetime格式转换

sql server中datetime格式转换

sql server使用convert来取得datetime日期数据,以下实例包含各种日期格式的转换语句及查询结果:Select CONV E RT(varchar(100), GE TDATE(), 0): 05 16 2006 10:57AMSelect CONV E RT(varchar(100), GE TDATE(), 1): 05/16/06Select CONV E RT(varchar(100), GE TDATE(), 2): 06.05.16Select CONV E RT(varchar(100), GE TDATE(), 3): 16/05/06Select CONV E RT(varchar(100), GE TDATE(), 4): 16.05.06Select CONV E RT(varchar(100), GE TDATE(), 5): 16-05-06Select CONV E RT(varchar(100), GE TDATE(), 6): 16 05 06Select CONV E RT(varchar(100), GE TDATE(), 7): 05 16, 06Select CONV E RT(varchar(100), GE TDATE(), 8): 10:57:46Select CONV E RT(varchar(100), GE TDATE(), 9): 05 16 2006 10:57:46:827AMSelect CONV E RT(varchar(100), GE TDATE(), 10): 05-16-06Select CONV E RT(varchar(100), GE TDATE(), 11): 06/05/16Select CONV E RT(varchar(100), GE TDATE(), 12): 060516Select CONV E RT(varchar(100), GE TDATE(), 13): 16 05 2006 10:57:46:937Select CONV E RT(varchar(100), GE TDATE(), 14): 10:57:46:967Select CONV E RT(varchar(100), GE TDATE(), 20): 2006-05-16 10:57:47Select CONV E RT(varchar(100), GE TDATE(), 21): 2006-05-16 10:57:47.157Select CONV E RT(varchar(100), GE TDATE(), 22): 05/16/06 10:57:47 AMSelect CONV E RT(varchar(100), GE TDATE(), 23): 2006-05-16Select CONV E RT(varchar(100), GE TDATE(), 24): 10:57:47Select CONV E RT(varchar(100), GE TDATE(), 25): 2006-05-16 10:57:47.250Select CONV E RT(varchar(100), GE TDATE(), 100): 05 16 2006 10:57AMSelect CONV E RT(varchar(100), GE TDATE(), 101): 05/16/2006Select CONV E RT(varchar(100), GE TDATE(), 102): 2006.05.16Select CONV E RT(varchar(100), GE TDATE(), 103): 16/05/2006Select CONV E RT(varchar(100), GE TDATE(), 104): 16.05.2006Select CONV E RT(varchar(100), GE TDATE(), 105): 16-05-2006Select CONV E RT(varchar(100), GE TDATE(), 106): 16 05 2006Select CONV E RT(varchar(100), GE TDATE(), 107): 05 16, 2006Select CONV E RT(varchar(100), GE TDATE(), 108): 10:57:49Select CONV E RT(varchar(100), GE TDATE(), 109): 05 16 2006 10:57:49:437AMSelect CONV E RT(varchar(100), GE TDATE(), 110): 05-16-2006Select CONV E RT(varchar(100), GE TDATE(), 111): 2006/05/16Select CONV E RT(varchar(100), GE TDATE(), 112): 20060516Select CONV E RT(varchar(100), GE TDATE(), 113): 16 05 2006 10:57:49:513Select CONV E RT(varchar(100), GE TDATE(), 114): 10:57:49:547Select CONV E RT(varchar(100), GE TDATE(), 120): 2006-05-16 10:57:49Select CONV E RT(varchar(100), GE TDATE(), 121): 2006-05-16 10:57:49.700Select CONV E RT(varchar(100), GE TDATE(), 126): 2006-05-16T10:57:49.827Select CONV E RT(varchar(100), GE TDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AMSelect CONV E RT(varchar(100), GE TDATE(), 131): 18/04/1427 10:57:49:920AM说明:使用CONV E RT:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )参数expression是任何有效的Microsoft? SQL Server? 表达式。

sqlserver convert 参数

sqlserver convert 参数

sqlserver convert 参数
在SQLServer中,我们可以使用Convert函数将一个数据类型转换为另一个数据类型。

Convert函数的语法如下:
Convert(data_type(length), expression, style) 其中,data_type是要转换的目标数据类型,length是可选的转换长度,expression是要转换的数据表达式,style是可选的转换样式。

下面介绍一些常见的Convert参数:
1. Convert(varchar, getdate(), 101)
将当前日期转换为格式为“mm/dd/yyyy”的字符串。

2. Convert(varchar, getdate(), 103)
将当前日期转换为格式为“dd/mm/yyyy”的字符串。

3. Convert(varchar, getdate(), 108)
将当前时间转换为格式为“hh:mi:ss”的字符串。

4. Convert(decimal(10,2), 1234
5.6789)
将一个浮点数转换为一个带有两位小数的十进制数。

5. Convert(int, '123')
将一个字符串转换为一个整数。

6. Convert(datetime, '2021-01-01', 120)
将一个字符串转换为一个日期时间值,格式为“yyyy-mm-dd hh:mi:ss”。

总之,在使用Convert函数时,我们需要注意目标数据类型、转
换长度和转换样式。

只有正确使用这些参数,我们才能得到正确的结果。

数据库中存储日期的字段类型到底应该用varchar还是datetime

数据库中存储日期的字段类型到底应该用varchar还是datetime

数据库中存储⽇期的字段类型到底应该⽤varchar还是datetime
将数据库中存储时间的数据类型改为varchar(),这时最好让这些时间是数据库中⾃动⽣成的(⼀个没有格式的输⼊也可能会导致输出错误),因为存储类型为varchar(),所以获取到的值也就被认为是⼀个字符串,直接将数据库中的时间字符串进⾏转化(这时那些转化函数是能识别数据库中的时间函数的),客户端的时间格式不再影响转换过程。

不过数据库中存储时间的类型如果为字符型也会带来⼀些⿇烦:
数据库中的时间仅仅是⽤来显⽰、查找的,那么影响还不算⼤,但如果对时间字段进⾏⼀些算法如计算星期、DateDiff、DateAdd等,那就⿇烦了,尤其实在⼤型数据查询中转换类型是会影响效率的
总结
数据库中存储⽇期的字段类型到底应该⽤varchar还是datetime ?这两种⽅法各有优势,datetime可以借⽤sql函数库中运算函数,增加了时间在各种运算上的效率;⽽varchar类型则可以在字符编码上显出优势。

在存储的时间将来不需要进⾏⼤量计算的前提下,可以考虑选择varchar类型,反之,选择datetime类型。

Mysql数字类型转换函数

Mysql数字类型转换函数

Mysql数字类型转换函数1、将Int 转为varchar经常⽤ concat函数,⽐如concat(8,'0') 得到字符串 '80'2、将varchar 转为Int ⽤ cast(a as signed) a为varchar类型的字符串总结:类型转换和SQL Server⼀样,就是类型参数有点点不同:CAST(xxx AS类型),CONVERT(xxx,类型)可⽤的类型 ⼆进制,同带binary前缀的效果 : BINARY字符型,可带参数 : CHAR()⽇期 : DATE时间: TIME⽇期时间型 : DATETIME浮点数 : DECIMAL整数 : SIGNED⽆符号整数 : UNSIGNED下⾯举⼏个例⼦:例⼀mysql> SELECT CONVERT('23',SIGNED);+----------------------+| CONVERT('23',SIGNED) |+----------------------+| 23 |+----------------------+1 row in set例⼆mysql> SELECT CAST('125e342.83' AS signed);+------------------------------+| CAST('125e342.83' AS signed) |+------------------------------+| 125 |+------------------------------+1 row in set例三DECLARE @dt datetime--单纯的⽇期SET @dt='1900-1-2'SELECT CAST(@dt as binary(8))--结果: 0x0000000100000000--单纯的时间SET @dt='00:00:01'SELECT CAST(@dt as binary(8))--结果: 0x000000000000012CMySQL的类型转换和SQL Server⼀样,就是类型参数有点点不同:CAST(xxx AS 类型) ,CONVERT(xxx,类型)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SQL中DateTime转换成V archar样式(常用标注)
SQL中DateTime转换成V archar样式
语句及查询结果:
Select CONVERT(varchar, GETDA TE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar, GETDA TE(), 1): 05/16/06
Select CONVERT(varchar, GETDA TE(), 2): 06.05.16
Select CONVERT(varchar, GETDA TE(), 3): 16/05/06
Select CONVERT(varchar, GETDA TE(), 4): 16.05.06
Select CONVERT(varchar, GETDA TE(), 5): 16-05-06
Select CONVERT(varchar, GETDA TE(), 6): 16 05 06
Select CONVERT(varchar, GETDA TE(), 7): 05 16, 06
Select CONVERT(varchar, GETDA TE(), 8): 10:57:46
Select CONVERT(varchar, GETDA TE(), 9): 05 16 2006 10:57:46:827AM Select CONVERT(varchar, GETDA TE(), 10): 05-16-06
Select CONVERT(varchar, GETDA TE(), 11): 06/05/16
Select CONVERT(varchar, GETDA TE(), 12): 060516
Select CONVERT(varchar, GETDA TE(), 13): 16 05 2006 10:57:46:937 Select CONVERT(varchar, GETDA TE(), 14): 10:57:46:967
Select CONVERT(varchar, GETDA TE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar, GETDA TE(), 21): 2006-05-16 10:57:47.157 Select CONVERT(varchar, GETDA TE(), 22): 05/16/06 10:57:47 AM Select CONVERT(varchar, GETDA TE(), 23): 2006-05-16
Select CONVERT(varchar, GETDA TE(), 24): 10:57:47
Select CONVERT(varchar, GETDA TE(), 25): 2006-05-16 10:57:47.250 Select CONVERT(varchar, GETDA TE(), 100): 05 16 2006 10:57AM Select CONVERT(varchar, GETDA TE(), 101): 05/16/2006
Select CONVERT(varchar, GETDA TE(), 102): 2006.05.16
Select CONVERT(varchar, GETDA TE(), 103): 16/05/2006
Select CONVERT(varchar, GETDA TE(), 104): 16.05.2006
Select CONVERT(varchar, GETDA TE(), 105): 16-05-2006
Select CONVERT(varchar, GETDA TE(), 106): 16 05 2006
Select CONVERT(varchar, GETDA TE(), 107): 05 16, 2006
Select CONVERT(varchar, GETDA TE(), 108): 10:57:49
Select CONVERT(varchar, GETDA TE(), 109): 05 16 2006 10:57:49:437AM Select CONVERT(varchar, GETDA TE(), 110): 05-16-2006
Select CONVERT(varchar, GETDA TE(), 111): 2006/05/16
Select CONVERT(varchar, GETDA TE(), 112): 20060516
Select CONVERT(varchar, GETDA TE(), 113): 16 05 2006 10:57:49:513
Select CONVERT(varchar, GETDA TE(), 120): 2010-12-22 10:17:27
select
convert(varchar(20),getdate(),111) +' '+ convert(varchar(20),getdate(),108) -- 2011/12/28 17:24:32。

相关文档
最新文档