Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql server中转换日期时间_Sql_Sql Server_Sql Server 2005_Tsql_Date Formatting - Fatal编程技术网

在sql server中转换日期时间

在sql server中转换日期时间,sql,sql-server,sql-server-2005,tsql,date-formatting,Sql,Sql Server,Sql Server 2005,Tsql,Date Formatting,如何转换下面的日期时间格式 2010-10-2511:13:36.700 进入 2010年10月25日或2010年10月25日00:00:00.000 SELECT convert(VARCHAR, getdate(),106) 这将为您提供2010年10月25日的 及 这将为您提供2010年10月25日检查这是否有助于您: SELECT REPLACE(CONVERT(VARCHAR(11), GETDATE(), 106), ' ', '-') 你可以得到更多信息 警察局。Stacko

如何转换下面的日期时间格式

2010-10-2511:13:36.700

进入

2010年10月25日2010年10月25日00:00:00.000

SELECT convert(VARCHAR, getdate(),106)
这将为您提供2010年10月25日的


这将为您提供
2010年10月25日

检查这是否有助于您:

SELECT REPLACE(CONVERT(VARCHAR(11), GETDATE(), 106), ' ', '-') 
你可以得到更多信息

警察局。Stackoverflow有时可能过于沉迷,你可能想在“2010年10月25日”之前试试谷歌 假设值是作为字符串而不是日期时间数据类型提供的:

SELECT REPLACE(CONVERT(VARCHAR, CAST('2010-10-25 11:13:36.700' AS DATETIME), 106), ' ', '-')
有关其他格式,请参见,尽管您请求的格式需要后期处理

获取“2010-10-25 00:00:00.000” 最好的方法是使用DATEADD&DATEDIFF:

SELECT DATEADD(d, DATEDIFF(dd, 0, '2010-10-25 11:13:36.700'), 0)
参考资料:

测试 返回:

col1          col2
-------------------------------------
25-Oct-2010   2010-10-25 00:00:00.000
补遗 由于您使用的是SQL Server 2005,您可以通过创建一个SQLCLR函数来简化日期格式,该函数允许您使用.NET日期格式。

选择CONVERT(NVARCHAR(20),getDATE(),105)

请重试

    SELECT CONVERT(varchar, GETDATE(), 1)   --12/30/06
    SELECT CONVERT(varchar, GETDATE(), 2)   --06.12.30
    SELECT CONVERT(varchar, GETDATE(), 3)   --30/12/06
    SELECT CONVERT(varchar, GETDATE(), 4)   --30.12.06
    SELECT CONVERT(varchar, GETDATE(), 5)   --30-12-06
    SELECT CONVERT(varchar, GETDATE(), 6)   --30 Dec 06
    SELECT CONVERT(varchar, GETDATE(), 7)   --Dec 30, 06
    SELECT CONVERT(varchar, GETDATE(), 10)  --12-30-06
    SELECT CONVERT(varchar, GETDATE(), 11)  --06/12/30
    SELECT CONVERT(varchar, GETDATE(), 12)  --061230
    SELECT CONVERT(varchar, GETDATE(), 23)  --2006-12-30
    SELECT CONVERT(varchar, GETDATE(), 101) --12/30/2006
    SELECT CONVERT(varchar, GETDATE(), 102) --2006.12.30
    SELECT CONVERT(varchar, GETDATE(), 103) --30/12/2006
    SELECT CONVERT(varchar, GETDATE(), 104) --30.12.2006
    SELECT CONVERT(varchar, GETDATE(), 105) --30-12-2006
    SELECT CONVERT(varchar, GETDATE(), 106) --30 Dec 2006
    SELECT CONVERT(varchar, GETDATE(), 107) --Dec 30, 2006
    SELECT CONVERT(varchar, GETDATE(), 110) --12-30-2006
    SELECT CONVERT(varchar, GETDATE(), 111) --2006/12/30
    SELECT CONVERT(varchar, GETDATE(), 112) --20061230

通过CONVERT()函数执行并不困难,但在应用程序代码中执行几乎总是比在sql中执行要好。@Joel Coehoorn:假设这只是用于表示。对于GROUP BY或ORDER BY,日期操纵可能是必需的…最后一个示例,应该是2010-10-25 00:00:00.000,而不是2009…?请解释您的代码的作用以及它是如何作用的。右侧显示的输出以及它是如何作用的。欲知详情
col1          col2
-------------------------------------
25-Oct-2010   2010-10-25 00:00:00.000
    SELECT CONVERT(varchar, GETDATE(), 1)   --12/30/06
    SELECT CONVERT(varchar, GETDATE(), 2)   --06.12.30
    SELECT CONVERT(varchar, GETDATE(), 3)   --30/12/06
    SELECT CONVERT(varchar, GETDATE(), 4)   --30.12.06
    SELECT CONVERT(varchar, GETDATE(), 5)   --30-12-06
    SELECT CONVERT(varchar, GETDATE(), 6)   --30 Dec 06
    SELECT CONVERT(varchar, GETDATE(), 7)   --Dec 30, 06
    SELECT CONVERT(varchar, GETDATE(), 10)  --12-30-06
    SELECT CONVERT(varchar, GETDATE(), 11)  --06/12/30
    SELECT CONVERT(varchar, GETDATE(), 12)  --061230
    SELECT CONVERT(varchar, GETDATE(), 23)  --2006-12-30
    SELECT CONVERT(varchar, GETDATE(), 101) --12/30/2006
    SELECT CONVERT(varchar, GETDATE(), 102) --2006.12.30
    SELECT CONVERT(varchar, GETDATE(), 103) --30/12/2006
    SELECT CONVERT(varchar, GETDATE(), 104) --30.12.2006
    SELECT CONVERT(varchar, GETDATE(), 105) --30-12-2006
    SELECT CONVERT(varchar, GETDATE(), 106) --30 Dec 2006
    SELECT CONVERT(varchar, GETDATE(), 107) --Dec 30, 2006
    SELECT CONVERT(varchar, GETDATE(), 110) --12-30-2006
    SELECT CONVERT(varchar, GETDATE(), 111) --2006/12/30
    SELECT CONVERT(varchar, GETDATE(), 112) --20061230