SELECT CONVERT(VARCHAR(10), GETDATE(), 105)
此查询返回[DD-MM-YYYY]中的日期 格式为varchar。我需要在sql server中的datetime数据类型中使用相同的格式。请帮帮我
答案 0 :(得分:3)
在SQL Server中,DATETIME数据类型存储为2个4字节整数,因此没有像这样的特定格式。
如果要以特定格式返回日期,则需要使用指定的相应格式标识符将其转换为VARCHAR。
如果您在VARCHAR中有一个日期时间并希望将其存储在SQL Server的DATETIME字段中,那么您应该确保以始终安全解释的格式将该值传递给SQL。例如dd / mm / YYYY格式不安全,视设置而定,进入时可视为mm / dd / yyyy。安全格式为:
yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm
e.g。
INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
<强>更新强>
当您选择DATETIME字段(GETDATE(),字段,变量....)时,您在SSMS中看到的是格式化的值,因为这对您有用,而不是显示它的实际内部8字节表示。
答案 1 :(得分:0)
在这里,
SELECT CONVERT(DATETIME, GETDATE(), 105)
刚刚将VARCHAR
更改为DATETIME
答案 2 :(得分:0)
这将返回日期时间
SELECT GETDATE()