位置: 编程技术 - 正文

sql convert函数使用小结

编辑:rootadmin

CONVERT(data_type,expression[,style]) convert(varchar(),字段名,转换格式)

说明:此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到.

语句 结果SELECT CONVERT(varchar(), GETDATE(), 0) 4:PMSELECT CONVERT(varchar(), GETDATE(), 1) //SELECT CONVERT(varchar(), GETDATE(), 2) ..SELECT CONVERT(varchar(), GETDATE(), 3) //SELECT CONVERT(varchar(), GETDATE(), 4) ..SELECT CONVERT(varchar(), GETDATE(), 5) --SELECT CONVERT(varchar(), GETDATE(), 6) SELECT CONVERT(varchar(), GETDATE(), 7) , SELECT CONVERT(varchar(), GETDATE(), 8) ::SELECT CONVERT(varchar(), GETDATE(), 9) 4:::PMSELECT CONVERT(varchar(), GETDATE(), ) --SELECT CONVERT(varchar(), GETDATE(), ) //SELECT CONVERT(varchar(), GETDATE(), ) SELECT CONVERT(varchar(), GETDATE(), ) :::SELECT CONVERT(varchar(), GETDATE(), ) :::SELECT CONVERT(varchar(), GETDATE(), ) -- ::SELECT CONVERT(varchar(), GETDATE(), ) -- ::.SELECT CONVERT(varchar(), GETDATE(), ) // 4:: PMSELECT CONVERT(varchar(), GETDATE(), ) --SELECT CONVERT(varchar(), GETDATE(), ) ::SELECT CONVERT(varchar(), GETDATE(), ) -- ::.SELECT CONVERT(varchar(), GETDATE(), ) 4:PMSELECT CONVERT(varchar(), GETDATE(), ) //SELECT CONVERT(varchar(), GETDATE(), ) ..SELECT CONVERT(varchar(), GETDATE(), ) //SELECT CONVERT(varchar(), GETDATE(), ) ..SELECT CONVERT(varchar(), GETDATE(), ) --SELECT CONVERT(varchar(), GETDATE(), ) SELECT CONVERT(varchar(), GETDATE(), ) , SELECT CONVERT(varchar(), GETDATE(), ) ::SELECT CONVERT(varchar(), GETDATE(), ) 4:::PMSELECT CONVERT(varchar(), GETDATE(), ) --SELECT CONVERT(varchar(), GETDATE(), ) //SELECT CONVERT(varchar(), GETDATE(), ) SELECT CONVERT(varchar(), GETDATE(), ) :::SELECT CONVERT(varchar(), GETDATE(), ) :::SELECT CONVERT(varchar(), GETDATE(), ) -- ::SELECT CONVERT(varchar(), GETDATE(), ) -- ::.SELECT CONVERT(varchar(), GETDATE(), ) --T::.SELECT CONVERT(varchar(), GETDATE(), ) ??? 4:::PMSELECT CONVERT(varchar(), GETDATE(), ) // 4:::PM

style数字在转换时间时的含义如下:

------------------------------------------------------------------------------------------------------------Style(2位表示年份) | Style(4位表示年份) | 输入输出格式 ------------------------------------------------------------------------------------------------------------0 | | mon dd yyyy hh:miAM(或PM) ------------------------------------------------------------------------------------------------------------1 | 美国 | mm/dd/yy ------------------------------------------------------------------------------------------------------------2 | ANSI | yy-mm-dd ------------------------------------------------------------------------------------------------------------3 | 英法 | dd/mm/yy ------------------------------------------------------------------------------------------------------------4 | 德国 | dd.mm.yy ------------------------------------------------------------------------------------------------------------5 | 意大利 | dd-mm-yy ------------------------------------------------------------------------------------------------------------6 | | dd mon yy ------------------------------------------------------------------------------------------------------------7 | | mon dd,yy ------------------------------------------------------------------------------------------------------------8 | | hh:mm:ss ------------------------------------------------------------------------------------------------------------9 | | mon dd yyyy hh:mi:ss:mmmmAM(或PM)------------------------------------------------------------------------------------------------------------ | 美国 | mm-dd-yy ------------------------------------------------------------------------------------------------------------ | 日本 | yy/mm/dd ------------------------------------------------------------------------------------------------------------ | ISO | yymmdd ------------------------------------------------------------------------------------------------------------ | 欧洲默认值 | dd mon yyyy hh:mi:ss:mmm(小时制) ------------------------------------------------------------------------------------------------------------ | | hh:mi:ss:mmm(小时制) ------------------------------------------------------------------------------------------------------------ | ODBC 规范 | yyyy-mm-dd hh:mi:ss(小时制) ------------------------------------------------------------------------------------------------------------ | | yyyy-mm-dd hh:mi:ss:mmm(小时制) ------------------------------------------------------------------------------------------------------------

说明:使用 CONVERT:

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

参数

expression

推荐整理分享sql convert函数使用小结,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

是任何有效的 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 convert函数使用小结

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

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

不带世纪数位 (yy)带世纪数位 (yyyy)标准输入/输出**-0 或 (*) 默认值mon dd yyyy hh:miAM(或 PM)美国mm/dd/yyyyANSIyy.mm.dd英国/法国dd/mm/yy德国dd.mm.yy意大利dd-mm-yy-dd mon yy-mon dd, yy-hh:mm:ss-9 或 (*) 默认值 + 毫秒mon dd yyyy hh:mi:ss:mmmAM(或 PM)美国mm-dd-yy日本yy/mm/ddISOyymmdd- 或 (*) 欧洲默认值 + 毫秒dd mon yyyy hh:mm:ss:mmm(h)-hh:mi:ss:mmm(h)- 或 (*) ODBC 规范yyyy-mm-dd hh:mm:ss[.fff]- 或 (*) ODBC 规范(带毫秒)yyyy-mm-dd hh:mm:ss[.fff]-(***)ISOyyyy-mm-dd Thh:mm:ss.mmm(不含空格)-*Hijri****dd mon yyyy hh:mi:ss:mmmAM-*Hijri****dd/mm/yy hh:mi:ss:mmmAM

* 默认值(style 0 或 、9 或 、 或 、 或 、 或 )始终返回世纪数位 (yyyy)。** 当转换为 datetime时输入;当转换为字符数据时输出。*** 专门用于 XML。对于从 datetime或 smalldatetime 到 character 数据的转换,输出格式如表中所示。对于从 float、money 或 smallmoney 到 character 数据的转换,输出等同于 style 2。对于从 real 到 character 数据的转换,输出等同于 style 1。****Hijri 是具有几种变化形式的日历系统,Microsoft® SQL Server&#; 使用其中的科威特算法。

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

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

PS:结合datediff()函数用来比较时间特别有用。

-------------------------------------------------------------------------------------------------------------------------------------------

1. 当前系统日期、时间select getdate()

2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值例如:向日期加上2天select dateadd(day,2,'--') --返回:-- ::.

3. datediff 返回跨两个指定日期的日期和时间边界数。select datediff(day,'--','--') --返回:

4. datepart 返回代表指定日期的指定日期部分的整数。SELECT DATEPART(month, '--') --返回

5. datename 返回代表指定日期的指定日期部分的字符串SELECT datename(weekday, '--') --返回:星期五

6. day(), month(),year() --可以与datepart对照一下

select 当前日期=convert(varchar(),getdate(),),当前时间=convert(varchar(8),getdate(),)

select datename(dw,'--')

select 本年第多少周=datename(week,'--'),今天是周几=datename(weekday,'--')

函数 参数/功能 GetDate( ) 返回系统目前的日期与时间 DateDiff (interval,date1,date2) 以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1 DateAdd (interval,number,date) 以interval指定的方式,加上number之后的日期 DatePart (interval,date) 返回日期date中,interval指定部分所对应的整数值 DateName (interval,date) 返回日期date中,interval指定部分所对应的字符串名称

参数 interval的设定值如下:

值 缩 写(Sql Server) Access 和 ASP 说明 Year Yy yyyy 年 ~ Quarter Qq q 季 1 ~ 4 Month Mm m 月1 ~ Day of year Dy y 一年的日数,一年中的第几日 1- Day Dd d 日,1- Weekday Dw w 一周的日数,一周中的第几日 1-7 Week Wk ww 周,一年中的第几周 0 ~ Hour Hh h 时0 ~ Minute Mi n 分钟0 ~ Second Ss s 秒 0 ~ Millisecond Ms - 毫秒 0 ~

access 和 asp 中用date()和now()取得系统日期时间;其中DateDiff,DateAdd,DatePart也同是能用于Access和asp中,这些函数的用法也类似

举例:1.GetDate() 用于sql server :select GetDate()

2.DateDiff('s','--','-7- ::')返回值为 秒DateDiff('d','--','-7- ::')返回值为 5 天

3.DatePart('w','-7- ::')返回值为 2 即星期一(周日为1,周六为7)DatePart('d','-7- ::')返回值为 即号DatePart('y','-7- ::')返回值为 即这一年中第天DatePart('yyyy','-7- ::')返回值为 即年

SQL Server DATEPART() 函数返回 SQLServer datetime 字段的一部分。

SQL Server DATEPART() 函数的语法是: DATEPART(portion, datetime)其中 datetime 是 SQLServer datetime 字段和部分的名称是下列之一: Ms for MillisecondsYy for YearQq for Quarter of the YearMm for MonthDy for the Day of the YearDd for Day of the MonthWk for WeekDw for the Day of the WeekHh for HourMi for MinuteSs for Second

详细的说明:

通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天。你们大部分人大概都知道怎样把日期进行分割(年、月、日等),然后仅仅用分割出来的年、月、日等放在几个函数中计算出自己所需要的日期!在这篇文章里,我将告诉你如何使用DATEADD和 DATEDIFF函数来计算出在你的程序中可能你要用到的一些不同日期。 在使用本文中的例子之前,你必须注意以下的问题。大部分可能不是所有例子在不同的机器上执行的结果可能不一样,这完全由哪一天是一个星期的第一天这个设置决定。第一天(DATEFIRST)设定决定了你的系统使用哪一天作为一周的第一天。所有以下的例子都是以星期天作为一周的第一天来建立,也就是第一天设置为7。假如你的第一天设置不一样,你可能需要调整这些例子,使它和不同的第一天设置相符合。你可以通过@@DATEFIRST函数来检查第一天设置。

为了理解这些例子,我们先复习一下DATEDIFF和DATEADD函数。DATEDIFF函数计算两个日期之间的小时、天、周、月、年等时间间隔总数。 DATEADD函数计算一个日期通过给时间间隔加减来获得一个新的日期。要了解更多的DATEDIFF和DATEADD函数以及时间间隔可以阅读微软联机帮助。

使用DATEDIFF和DATEADD函数来计算日期,和本来从当前日期转换到你需要的日期的考虑方法有点不同。你必须从时间间隔这个方面来考虑。比如,从当前日期到你要得到的日期之间有多少时间间隔,或者,从今天到某一天(比如-1-1)之间有多少时间间隔,等等。理解怎样着眼于时间间隔有助于你轻松的理解我的不同的日期计算例子。

一个月的第一天

第一个例子,我将告诉你如何从当前日期去这个月的最后一天。请注意:这个例子以及这篇文章中的其他例子都将只使用DATEDIFF和DATEADD函数来计算我们想要的日期。每一个例子都将通过计算但前的时间间隔,然后进行加减来得到想要计算的日期。

这是计算一个月第一天的SQL 脚本: SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0)

我们把这个语句分开来看看它是如何工作的。最核心的函数是getdate(),大部分人都知道这个是返回当前的日期和时间的函数。下一个执行的函数 DATEDIFF(mm,0,getdate())是计算当前日期和“-- ::.”这个日期之间的月数。记住:时期和时间变量和毫秒一样是从“-- ::.”开始计算的。这就是为什么你可以在DATEDIFF函数中指定第一个时间表达式为“0”。下一个函数是DATEADD,增加当前日期到“--”的月数。通过增加预定义的日期“--”和当前日期的月数,我们可以获得这个月的第一天。另外,计算出来的日期的时间部分将会是“::.”。

这个计算的技巧是先计算当前日期到“--”的时间间隔数,然后把它加到“--”上来获得特殊的日期,这个技巧可以用来计算很多不同的日期。下一个例子也是用这个技巧从当前日期来产生不同的日期。

本周的星期一

这里我是用周(wk)的时间间隔来计算哪一天是本周的星期一。

SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 0)

一年的第一天

现在用年(yy)的时间间隔来显示这一年的第一天。

SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)

季度的第一天

假如你要计算这个季度的第一天,这个例子告诉你该如何做。

SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)

当天的半夜

曾经需要通过getdate()函数为了返回时间值截掉时间部分,就会考虑到当前日期是不是在半夜。假如这样,这个例子使用DATEDIFF和DATEADD函数来获得半夜的时间点。

SELECT DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)

深入DATEDIFF和DATEADD函数计算

你可以明白,通过使用简单的DATEDIFF和DATEADD函数计算,你可以发现很多不同的可能有意义的日期。

目前为止的所有例子只是仅仅计算当前的时间和“--”之间的时间间隔数量,然后把它加到“--”的时间间隔上来计算出日期。假定你修改时间间隔的数量,或者使用不同的时间间隔来调用DATEADD函数,或者减去时间间隔而不是增加,那么通过这些小的调整你可以发现和多不同的日期。

这里有四个例子使用另外一个DATEADD函数来计算最后一天来分别替换DATEADD函数前后两个时间间隔。

上个月的最后一天

这是一个计算上个月最后一天的例子。它通过从一个月的最后一天这个例子上减去3毫秒来获得。有一点要记住,在Sql Server中时间是精确到3毫秒。这就是为什么我需要减去3毫秒来获得我要的日期和时间。

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(mm,0,getdate()), 0))

计算出来的日期的时间部分包含了一个Sql Server可以记录的一天的最后时刻(“:::”)的时间。

去年的最后一天

连接上面的例子,为了要得到去年的最后一天,你需要在今年的第一天上减去3毫秒。

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate()), 0))

本月的最后一天

现在,为了获得本月的最后一天,我需要稍微修改一下获得上个月的最后一天的语句。修改需要给用DATEDIFF比较当前日期和“--”返回的时间间隔上加1。通过加1个月,我计算出下个月的第一天,然后减去3毫秒,这样就计算出了这个月的最后一天。这是计算本月最后一天的SQL脚本。

SELECT dateadd(ms,-3,DATEADD(mm, DATEDIFF(m,0,getdate())+1, 0))

本年的最后一天

你现在应该掌握这个的做法,这是计算本年最后一天脚本

SELECT dateadd(ms,-3,DATEADD(yy, DATEDIFF(yy,0,getdate())+1, 0))

本月的第一个星期一

好了,现在是最后一个例子。这里我要计算这个月的第一个星期一,这是计算的脚本。

select DATEADD(wk, DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())), 0)

sqlserver 行列转换实现方法 --CreateCompanyTableCreateTableCompany(ComIDvarchar()primarykey,ComNamenvarchar()notnull,ComNumbervarchar()notnull,ComAddressnvarchar(),ComTelevarchar())--CreateProductTableCreateTableProdu

跨服务器查询导入数据的sql语句 insertintoMICS_WorkPlan_RestDaysselect*fromOPENROWSET('SQLOLEDB','SERVER=..2.;uid=用户名;pwd=密码;Database=数据库','select*fromv_restdays(sql语句,可执行存储过程)')asa

返回SQL执行时间的存储过程 USENBDXMISCREATEprocTestTimeAnySentence@sql_wherevarchar()asdeclare@ctdatetimeset@ct=getdate()declare@newsql_wherevarchar()set@newsql_where=@sql_whereexec(@newsql_where)selectdatediff(ms,@ct,g

标签: sql convert函数使用小结

本文链接地址:https://www.jiuchutong.com/biancheng/349748.html 转载请保留说明!

上一篇:SQL 多表连接查询实现语句(sql多表连接查询)

下一篇:sqlserver2005 行列转换实现方法(sql行变列有几种方法)

  • 增值税科目及会计处理
  • 契税的纳税人是指在我国境内转移房屋土地权的
  • 结转本年利润要扣除企业所得税吗
  • 员工外出办事报备制度
  • 其他收益科目在哪个科目前面填
  • 其他收益属于什么类
  • 餐饮业成本的正确表述是
  • 去年的成本如何调整汇算清缴额
  • 个税专项扣除如何申报
  • 新企业第一次报所得税
  • 生产企业出口货物会计分录
  • 销售费用包括哪些二级科目
  • 资产损失申报扣除
  • 厂房怎么计提折旧费
  • 原材料加工成品怎么做账
  • 修理费没有发票怎么做账
  • 赠品视同销售会计分录要如何编制?
  • 销售已使用的固定资产增值税
  • 新公司注册后先开户还是先税务登记
  • 一般纳税人如何零申报
  • 个体工商户是否属于法人
  • 分配现金股利是什么活动
  • 2019一般纳税人和小规模纳税人的区别
  • 员工报销现在用什么软件
  • 递延收益的账务处理案例
  • 鸿蒙系统开发者选项怎么关闭
  • 弥补亏损企业类型都是一般企业吗
  • 销货退回与折让是什么
  • 增值税一般纳税人资格登记表
  • 委托去银行办理业务的委托书
  • 购货人与收货人的关系
  • 股权投资的收益回收方式
  • 一个红苹果多少钱
  • 企业所得税年报截止日期2023
  • 资产处置损益算营业外收入吗
  • 小程序开发定制
  • 长期待摊费用属于非流动资产吗
  • 汽车销售税额
  • 进货退出进项税额的核算
  • 无偿帮工造成财产损失谁赔偿 法院
  • 出口结汇有哪些常用方法?
  • 申请电子发票需要什么条件
  • 原材料用于加工什么
  • microsoft SQL server 2014可以删吗
  • c#连接数据库的基本步骤是什么
  • 增值税一般纳税人是什么意思
  • 定期定额纳税申报表计税依据怎么填
  • 房产税的政策依据
  • 内账应付账款怎么做账
  • 缴纳的增值税怎么做账
  • 低值易耗品一次性摊销会计科目
  • 平均净资产怎么算公式的
  • 担保费能否抵扣增值税
  • 已认证专票发现地址为错误
  • 人工费的发票税率怎么算
  • 火车票进项抵扣需要认证吗
  • 个人所得税专项扣除能抵多少
  • 如何开具发票?
  • 企业出售投资性房地产应按照售价与账面价值
  • 个体工商户如何缴纳社保
  • sql比较数值大小
  • 注册表隐藏桌面图标
  • 迅速修复系统漏洞的方法
  • win10 bios模式
  • mac怎么使用自动切换输入法
  • linux系统没有yum
  • windows用户如何添加新用户账户信息
  • macos 多屏
  • win 10 ie浏览器
  • 笔记本怎么设置定时关机
  • win8怎么开机不用密码
  • cocos2d schedule
  • node.js的使用
  • js解析机制
  • unity3d移动物体
  • vue devtools功能
  • python3整除
  • Javascript字符串奇数位替换
  • 江苏省常州市国事业单位国企招录测绘工程研究生公告
  • 贵州省微企补助政策
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设