在SQL Server中把datetime类型改为Varchar(8)时 在SQL Server中把datetime类型改为Varchar(8)时,日期中的’:‘会没有,怎么改才可以? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --功能概述:CONVERT函数全部用法--做成时间:2008/09/18格式:CONVERT(data_type,expression[,style])说明:(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下: 0 | 0 or 100 | 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 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM) 10 | 110 | mm-dd-yy 11 | 111 | yy/mm/dd 12 | 112 | yymmdd 11| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制) 14 | 114 | hh:mi:ss:mmm(24小时制) 15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制) 16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制) 具体例子: SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM 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 SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06 SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46 SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06 SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16 SELECT CONVERT(varchar(100), GETDATE(), 12): 060516 SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937 SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967 SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47 SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157 SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16 SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47 SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250 SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006 SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16 SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006 SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006 SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006 SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006 SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006 SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49 SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006 SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16 SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516 SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547 SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49 SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700 SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827 SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM select convert(varchar(19),getdate(),120)/* ------------------- 2008-11-26 10:13:32*/ select convert(varchar(10),getdate(),120)/*2008-11-26(所影响的行数为 1 行)*/select replace(convert(varchar(10),getdate(),120),'-',':')/*2008:11:26(所影响的行数为 1 行)*/ varchar(8)明显不够长,只能存下 '20080102'这样的日期格式 /*沒有時間型數據類型,儲存為datetime,或smalldatetime需要時間轉換即可*/SELECT CONVERT(varchar(100), GETDATE(), 24)/* ---------------------------------------------------------------------------------------------------- 10:48:11*/ 问什么游标用不了Order by? 关于数据库的学习 关于SQL对时间字段的检索问题 如何用脚本来添加大量的测试数据(深夜的呼唤) 查出某列重复值(问题很简单,分数很好得) insert TableName values('22','liu') select @@Identity 这条语句为什么不返回!@ 更新数据表问题, 求救各位大哥. 如何获取数据库文件所在的路径??(在线)如:c:\data\dl_data.mdf 关于快速select及delete的问题,求最快的方法 请教:如何用sql语句取得存储过程的结构 从数据库中导出单张表或试图 SQL中的日期及时间的格式问题?
--做成时间:2008/09/18格式:
CONVERT(data_type,expression[,style])说明:
(datetime,smalldatetime)与字符串类型(nchar,nvarchar,char,varchar)相互转换的时候才用到的函数的3个参数,
第1个参数为,转换后的大小,第2个为转换日期的字段或函数,第3个为转换的格式,具体如下:
0 | 0 or 100 | 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 | 9 or 109 | mon dd yyyy hh:mi:ss:mmmmAM(或PM)
10 | 110 | mm-dd-yy
11 | 111 | yy/mm/dd
12 | 112 | yymmdd
11| 13 or 113 | dd mon yyyy hh:mi:ss:mmm(24小时制)
14 | 114 | hh:mi:ss:mmm(24小时制)
15 | 20 or 120 | yyyy-mm-dd hh:mi:ss(24小时制)
16 | 21 or 121 | yyyy-mm-dd hh:mi:ss:mmm(24小时制)
具体例子:
SELECT CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
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
SELECT CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
SELECT CONVERT(varchar(100), GETDATE(), 8): 10:57:46
SELECT CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
SELECT CONVERT(varchar(100), GETDATE(), 10): 05-16-06
SELECT CONVERT(varchar(100), GETDATE(), 11): 06/05/16
SELECT CONVERT(varchar(100), GETDATE(), 12): 060516
SELECT CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
SELECT CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
SELECT CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
SELECT CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
SELECT CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
SELECT CONVERT(varchar(100), GETDATE(), 24): 10:57:47
SELECT CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
SELECT CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
SELECT CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
SELECT CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
SELECT CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
SELECT CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
SELECT CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
SELECT CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
SELECT CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
SELECT CONVERT(varchar(100), GETDATE(), 108): 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
SELECT CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
SELECT CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
SELECT CONVERT(varchar(100), GETDATE(), 112): 20060516
SELECT CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513
SELECT CONVERT(varchar(100), GETDATE(), 114): 10:57:49:547
SELECT CONVERT(varchar(100), GETDATE(), 120): 2006-05-16 10:57:49
SELECT CONVERT(varchar(100), GETDATE(), 121): 2006-05-16 10:57:49.700
SELECT CONVERT(varchar(100), GETDATE(), 126): 2006-05-16T10:57:49.827
SELECT CONVERT(varchar(100), GETDATE(), 130): 18 ???? ?????? 1427 10:57:49:907AM
SELECT CONVERT(varchar(100), GETDATE(), 131): 18/04/1427 10:57:49:920AM
/*
-------------------
2008-11-26 10:13:32*/
/*
2008-11-26(所影响的行数为 1 行)
*/select replace(convert(varchar(10),getdate(),120),'-',':')
/*
2008:11:26(所影响的行数为 1 行)
*/
需要時間轉換即可*/
SELECT CONVERT(varchar(100), GETDATE(), 24)
/*
----------------------------------------------------------------------------------------------------
10:48:11
*/