SQL Server 将日期转换为YYYYMMDD HH24:MI:SS格式[已关闭]

vzgqcmou  于 2023-02-03  发布在  其他
关注(0)|答案(2)|浏览(307)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
昨天关门了。
Improve this question
我有一张table

Create table ABS (P_DATE DATETIME);

现在我想在ABS表中以YYYYMMDD HH24:MI:SS存储P_DATE列中的值。日期将以YYMMDD输入,如230118
希望保存20230144 00:00:00的日期。
请帮忙,我怎样才能做到呢

8zzbczxx

8zzbczxx1#

这个问题误解了datetime列的工作方式。没有人类可读的格式。
相反,它们将数据存储为二进制8字节十进制值,该值针对存储/内存使用、正确性、索引和日期数学/比较操作进行了优化。
这很好,您不应该给予于任何使用varchar列来获得所需格式的诱惑,而是只在从表中选择数据时考虑格式问题,即使这样,通常最好还是让客户端程序或报告工具来考虑它。

6mzjoqzu

6mzjoqzu2#

所需要的是转换字符串,并给出正确的样式在您的情况下12

SELECT CONVERT(datetime, '230125',12)

| (No列名称)|
| - ------|
| 2023年1月25日00时00分00秒|
x一个一个一个一个x一个一个二个一个x一个一个三个一个
| P_日期|
| - ------|
| 2023年1月25日00时00分00秒|
fiddle

相关问题