• 回答数

    4

  • 浏览数

    713

回忆涐们的点点滴滴
首页 > 计算机类考试 > SqlServer查询时日期格式化语句?

4个回答 默认排序
  • 默认排序
  • 按时间排序

对妳╮俄输德彻底

已采纳
1分钟前发布 -【SqlServer查询时日期格式化语句?】http://www.zjks.cc 10月18日讯: SqlServer查询时日期格式化语句?SQL Server中文版的默认的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm例如:select getdate() 2004-09-12 11:06:08.177 整理了一下SQL Server里面可能经常会用到的日期格式转换方法:举例如下: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第三个参数,进行日期类型转化时的格式: 如Convert(Char(10), GetDate(), 111) 101 美国 mm/dd/yyyy 102 ANSI yy.mm.dd 103 英国/法国 dd/mm/yy 104 德国 dd.mm.yy 105 意大利 dd-mm-yy 106 - dd mon yy 107 - mon dd, yy 108 - hh:mm:ss 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM) 110 美国 mm-dd-yy 111 日本 yy/mm/dd 112 ISO yymmdd 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h) 114 - hh:mi:ss:mmm(24h) 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff] 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:mmmAMSql 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:907AMSelect CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM常用:Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49Select CONVERT(varchar(100), GETDATE(), 12): 060516Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16select CONVERT(varchar(12) , getdate(), 112 ) : 20040912 Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46例如:convert(varchar(100),a.makedate,120) as makedatePS:下面给大家介绍Sql Server关于日期查询时,如果表中日期到具体某个时间1.如果查询日期参数为'2017/02/21',而数据库表中的字段为'2017/02/21 12:34:16.963',则需要格式化一下日期才能查询出来,如下select * from table t where t.date between CONVERT(datetime, '2017/02/21', 120) and CONVERT(datetime, '2017/02/21', 120)+' 23:59:59') ;查询的范围为'2017/02/21 00:00:00'~'2017/02/21 23:59:59',这样就能解决问题。2.或者使用dateadd方法,把日期加1天,如下select * from table t where t.date >= CONVERT(datetime, '2017/02/21') and t.date < CONVERT(datetime, dateadd(day,1,'2017/02/21'));查询的范围为'2017/02/21'
29 评论

单纯爺们

已采纳
请问怎么从sql server数据库里通过出生日期,然后算出他的年龄?SqlServer中通过出生日期计算年龄可用year函数。工具:SqlServer 2008 R2步骤:1、有student表,数据如下,其中birthday列为生日列:2、要计算每个人的年龄,可用如下语句:select *,year(getdate())-year(birthday) age from student3、查询结果如下,年龄计算结果出现:
68 评论

ミ記憶de承渃

已采纳
sql按日期时间统计次数的语句怎么写?1、当日12~次日12点,可以把时间加上12个小时再计算,就是到次日12点再结算。2、再根据处理后的日期group by。3、获取group by以后的记录条数即可。完整sql如下,在SqlServer2008下测试通过:select count(*) as '消费次数' from (select [卡号],CONVERT(varchar(10),DATEADD(hour,12,[消费时间]),101) as '结算日期',COUNT(*)as '次数'from [消费明细]where [卡号]='001'group by [卡号],CONVERT(varchar(10),DATEADD(hour,12,[消费时间]),101))t1
63 评论

眸中海

已采纳
sqlserver中,varchar和varing有什么区别?SQL SERVER中生成的语句中,字符串前加N。N 前缀必须是大写字母。是Unicode编码的意思,一般来说,英文字符是一个字节组成,但是国际上的字太多了,因此就用两个字节来表示字符,满足国际化的需要.在字符串前面加上 N 代表存入数据库时以 Unicode 格式存储。N'string' 表示string是个Unicode字符串Unicode 字符串的格式与普通字符串相似,但它前面有一个 N 标识符(N 代表 SQL-92 标准中的国际语言 (National Language))。N 前缀必须是大写字母。例如,'Michél' 是字符串常量而 N'Michél' 则是 Unicode 常量。Unicode 常量被解释为 Unicode 数据,并且不使用代码页进行计算。Unicode 常量确实有排序规则,主要用于控制比较和区分大小写。为 Unicode 常量指派当前数据库的默认排序规则,除非使用 COLLATE 子句为其指定了排序规则。Unicode 数据中的每个字符都使用两个字节进行存储,而字符数据中的每个字符则都使用一个字节进行存储。有关更多信息,请参见使用 Unicode 数据。Unicode 字符串常量支持增强的排序规则。select '''a''' --输出'a' 在sql语句中'用''来转义,其他字符可以直接输存储含有中文字符的最好有nvarchar存储只有英文、数字的最好用varchar1.有var前缀的,表示是实际存储空间是变长的,varchar,nvarchar 所谓定长就是长度固定的,当输入的数据长度没有达到指定的长度时将自动以英文空格在其后面填充,使长度达到相应的长度;而变长字符数据则不会以空格填充,比较例外的是,text存储的也是可变长。 2.有n前缀的,n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar 字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。 3.基于以上两点来看看字段容量 char,varchar 最多8000个英文,4000个汉字 nchar,nvarchar 可存储4000个字符,无论英文还是汉字 varchar与nvarchar的选择("n"前缀) 使用varchar存储含有非英文字符(比如中文,日文)时出现“??”的乱码 使用nvarchar的一个非常好处就是在判断字符串的时候可以不需要考虑中英文两种字符的差别.   当然,使用nvarchar存储英文字符会增大一倍的存储空间.但是在存储代价已经很低廉的情况下,优先考虑兼容性会给你带来更多好处的.  所以在Design的时候应该尽量使用nvarchar来存储数据.只有在你确保该字段不会保存中文的时候,才采用varchar来存储. SqlServer中nvarchar和varchar的区别 1、各自的定义:1.nvarchar(n) : 包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。 2.varchar[(n)]: 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。2、区别:1.从存储方式上,nvarchar是按字符存储的,而 varchar是按字节存储的;2.从存储量上考虑, varchar比较节省空间,因为存储大小为字节的实际长度,而 nvarchar是双字节存储;3.在使用上,如果存储内容都是英文字符而没有汉字等其他语言符号,建议使用varchar;含有汉字的使用nvarchar,因为nvarchar是使用Unicode编码,即统一的字符编码标准,会减少乱码的出现几率;4.如果你做的项目可能涉及不同语言之间的转换,建议用nvarchar。
96 评论

相关问答

  • access2003设置数据类型时提示MicrosoftAccess不能启动查阅向导。查阅向导不能应用于此数据类型的字?

    access2003设置数据类型时提示MicrosoftAccess不能启动查阅向导。查阅向导不能应用于此数据类型的字?不能应用于自动编号和时间日期字段。

    药酒萌 4人参与回答 2024-10-18
  • 全国计算机等级考试组织类型?

    全国计算机等级考试组织类型?全国计算机等级考试是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。计算机等级考试分4种,分别为一级、二级、三级、四级。一级考计算机基础知识,DOS操作系统初步知识,文字处理知识和数据库操作。二级考程序设计,应用水平及编程能力。三级A类偏重硬件系统开发,维护,微机原理,汇编语言;B类偏重

    所图是你 4人参与回答 2024-10-18
  • office免费的吗?

    office免费的吗?Office不是免费的,是付费的办公软件。1、Microsoft Office是由Microsoft(微软)公司开发的一套基于 Windows 操作系统的办公软件套装。常用组件有 Word、Excel、PowerPoint等。最新版本为Office 365(Office 2019)。2、2013年3月微软副总裁杰夫·特珀说微软将于今年上半年推出代号为&ldquo

    请你善良 4人参与回答 2024-10-18
  • 化学竞赛的时间?

    化学竞赛的时间?不确定。因为化学竞赛的时间和地点是由举办方决定的,不同地区和不同竞赛的时间也会有所不同,需要查询相关通知或询问组织者了解具体时间。 如果您对化学有兴趣,建议多关注相关竞赛信息及时报名参赛,同时也可以利用平时的时间多学习化学知识,提高自己的能力水平。

    预言又止的痛 4人参与回答 2024-10-18
  • 2021年中级审计考试时间?

    2021年中级审计考试时间?2021年中级审计师考试时间:10月10日中级报考条件:1.取得大学专科学历,从事审计、财经工作满5年;2.取得大学本科学历,从事审计、财经工作满4年;3.取得双学士学位或研究生班毕业,从事审计、财经工作满2年;4.取得硕士学位,从事审计、财经工作满1年;5.取得博士学位。

    撕扯我的靈魂 4人参与回答 2024-10-18