SQL 语句控制日期时间格式

 

CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型
(
datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下:
0|0or100| mon dd yyyy hh:miAM(或PM) 
1|101| mm/dd/yy 
2|102| 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|9or109| mon dd yyyy hh:mi:ss:mmmmAM(或PM)
10|110| mm-dd-yy
11|111| yy/mm/dd
12|112| yymmdd
11|13or113| dd mon yyyy hh:mi:ss:mmm(24小时制) 
14|114| hh:mi:ss:mmm(24小时制)
15|20or120| yyyy-mm-dd hh:mi:ss(24小时制)
16|21or121| yyyy-mm-dd hh:mi:ss:mmm(24小时制)
具体例子:
SELECTCONVERT(varchar(100), GETDATE(), 0): 0516200610:57AM
SELECTCONVERT(varchar(100), GETDATE(), 1): 05/16/06
SELECTCONVERT(varchar(100), GETDATE(), 2): 06.05.16
SELECTCONVERT(varchar(100), GETDATE(), 3): 16/05/06
SELECTCONVERT(varchar(100), GETDATE(), 4): 16.05.06
SELECTCONVERT(varchar(100), GETDATE(), 5): 16-05-06
SELECTCONVERT(varchar(100), GETDATE(), 6): 160506
SELECTCONVERT(varchar(100), GETDATE(), 7): 051606
SELECTCONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECTCONVERT(varchar(100), GETDATE(), 9): 0516200610:57:46:827AM
SELECTCONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECTCONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECTCONVERT(varchar(100), GETDATE(), 12): 060516
SELECTCONVERT(varchar(100), GETDATE(), 13): 1605200610:57:46:937
SELECTCONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECTCONVERT(varchar(100), GETDATE(), 20): 2006-05-1610:57:47
SELECTCONVERT(varchar(100), GETDATE(), 21): 2006-05-1610:57:47.157
SELECTCONVERT(varchar(100), GETDATE(), 22): 05/16/0610:57:47 AM
SELECTCONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECTCONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECTCONVERT(varchar(100), GETDATE(), 25): 2006-05-1610:57:47.250
SELECTCONVERT(varchar(100), GETDATE(), 100): 0516200610:57AM
SELECTCONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECTCONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECTCONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECTCONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECTCONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECTCONVERT(varchar(100), GETDATE(), 106): 16052006
SELECTCONVERT(varchar(100), GETDATE(), 107): 05162006
SELECTCONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECTCONVERT(varchar(100), GETDATE(), 109): 0516200610:57:49:437AM
SELECTCONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECTCONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECTCONVERT(varchar(100), GETDATE(), 112): 20060516
SELECTCONVERT(varchar(100), GETDATE(), 113): 1605200610:57:49:513
SELECTCONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECTCONVERT(varchar(100), GETDATE(), 120): 2006-05-1610:57:49
SELECTCONVERT(varchar(100), GETDATE(), 121): 2006-05-1610:57:49.700
SELECTCONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECTCONVERT(varchar(100), GETDATE(), 130): 18 ???? ??????142710:57:49:907AM
SELECTCONVERT(varchar(100), GETDATE(), 131): 18/04/142710:57:49:920AM

转在来自博客园

王嘉斯
 

昨天晚上开始,就很郁闷一个事情,if的一个判断条件怎么也进不去,后来给后面加了个括号,就可以了,上网一查。。。。。原来是这样。转过来留着看,感谢原作者 。

以下是原文:

最近调了两天的程序的收获,就是发现==的优先级比&高,在之前的记忆中一直有个错误的概念,==的优先级是最低的,结果为了这个错误浪费了我两天的时间.

    最近有个程序,用到了简单的if语句,if((1<<F_ML)==flag&(1<<F_ML)),因为一直以为==的优先级是最低的,所以后面的部分没有(),结果程序怎么调结果都不对,中间还以为单片机出问题了,换了两次,而且是QFN封装的,程序从头看到尾不下三遍,还好程序不是太长,都没什么用,就准备放弃的时候,发现编译器下面出现的警告信息,(****.c:121: warning: suggest parentheses around comparison in operand of &),开始一直没留意,程序改的已经没得改了,就想试试看,按编译器的要求增加(),结果就OK了,我就纳闷了,上网一查,吓一跳,原来==的优先级比&高,晕死,想想以前一直按==的优先级在写程序,都没出问题,以前运气还真不是一般的好啊.

附C语言运算符优先级口诀

   括号成员第一; //括号运算符[]() 成员运算符. ->
  全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&
  乘除余三,加减四; //这个"余"是指取余运算即%
  移位五,关系六; //移位运算符:<< >> ,关系:> < >= <= 等
  等于(与)不等排第七; //即== !=
  位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|) 
  "三分天下"八九十; 
  逻辑或跟与; //逻辑运算符:|| 和 &&
  十二和十一; //注意顺序:优先级(||) 底于 优先级(&&) 
  条件高于赋值, //三目运算符优先级排到 13 位只比赋值运算符和","高//需要注意的是赋值运算符很多!
  逗号运算级最低! //逗号运算符优先级最低

 
标签: Sql DateTime
原文地址:https://www.cnblogs.com/Leo_wl/p/3021554.html