【发布时间】:2014-05-26 07:06:08
【问题描述】:
我有一个字符串 b = "25/06/2013"; 我想将其转换为存储在 SQL Server 中(数据类型=日期)2013 年 6 月 25 日。 请给我建议。
【问题讨论】:
标签: sql-server date datetime
我有一个字符串 b = "25/06/2013"; 我想将其转换为存储在 SQL Server 中(数据类型=日期)2013 年 6 月 25 日。 请给我建议。
【问题讨论】:
标签: sql-server date datetime
请检查是否正常,
SELECT DATENAME(MM, CONVERT(DATE, '25/06/2013', 104)) + RIGHT(CONVERT(VARCHAR(12), CONVERT(DATE, '25/06/2013', 104), 107), 9) AS Date_format
【讨论】:
这行得通吗,
SET DATEFORMAT DMY
DECLARE @DT VARCHAR(15) = '26/05/2014'
SELECT
DATENAME(MONTH,CAST(@DT AS DATETIME)) +','+
CAST(DATEPART(DAY,CAST(@DT AS DATETIME)) AS VARCHAR(2))+','+
CAST(DATEPART(YEAR,CAST(@DT AS DATETIME)) AS VARCHAR(4)) Dt
【讨论】:
查看下面可以使用的转换功能链接:
【讨论】:
我写了这个有用的扩展方法:
public static string ToSqlString(this DateTime dt)
{
return "CONVERT(DATETIME, '" + dt.Year + "-" + dt.Month + "-" + dt.Day + " " + dt.Hour + ":" + dt.Minute + ":" + dt.Second + "." + dt.Millisecond + "', 21 )";
}
【讨论】:
SQL Server 提供了 convert(),你必须把数据存储在 varchar 中然后使用这个函数
CONVERT(VARCHAR(24),GETDATE(),113)
或
SELECT CAST(DAY(GETDATE()) AS VARCHAR(2)) + ' ' +
DATENAME(MM, GETDATE()) + ' ' +
RIGHT(CAST(YEAR(GETDATE()) AS VARCHAR(4)), 2) AS [DD Month YY]
【讨论】:
只需检查以下内容。以下链接有可用的格式选项
sqlserver 中的不同日期格式:- http://www.sql-server-helper.com/sql-server-2008/sql-server-2008-date-format.aspx
您只需在链接中将 113 更改为所需的值格式即可。
声明@d datetime = getdate()
选择 CONVERT( varchar(11) , @d , 113)
【讨论】: