SELECT CONVERT(VARCHAR(10), GETDATE(), 105)
Run Code Online (Sandbox Code Playgroud)
此查询以[DD-MM-YYYY]格式返回日期为varchar.我需要在sql server中的datetime数据类型中使用相同的格式.请帮助我
在 SQL Server 中,DATETIME 数据类型存储为 2 个 4 字节整数,因此没有这样的特定格式。
如果要以特定格式返回日期,则需要将其转换为 VARCHAR,并指定适当的格式标识符。
如果您在 VARCHAR 中有一个日期时间,并且希望将其存储在 SQL Server 中的 DATETIME 字段中,那么您应该确保以始终可以安全解释的格式将该值传递给 SQL。例如,dd/mm/YYYY 格式并不安全,因为根据设置,它在输入时可能会被视为 mm/dd/yyyy。安全格式是:
yyyyMMdd
yyyy-MM-ddThh:mi:ss.mmm
Run Code Online (Sandbox Code Playgroud)
例如
INSERT MyTable (DateField) VALUES ('01/10/2010') -- dd/MM/yyyy not safe
INSERT MyTable (DateField) VALUES ('20101001') -- yyyyMMdd safe
Run Code Online (Sandbox Code Playgroud)
更新:
当您选择 DATETIME 字段(GETDATE()、字段、变量...)时,您在 SSMS 中看到的是一个格式化值,因为这对您有用,而不是显示其实际的内部 8 字节表示形式。
| 归档时间: |
|
| 查看次数: |
4404 次 |
| 最近记录: |