将 CMMDDYY 转换为 SQL Server 中的日期

发布于 2024-11-15 10:11:49 字数 225 浏览 1 评论 0原文

如果我有一个格式为 CMMDDYY

C = 0、1 或 2 的日期字符串,其中 0 代表 19、1 代表 20、2 代表 21

示例:

1022511 将是 02/25/2011(mm/dd/yyyy 格式)。

有没有办法在sql server中将其转换为mm/dd/yyyy格式?

CMMDDYY 是有效的日期格式吗?我还没有找到太多关于它的信息。

If I have a date string in the format of CMMDDYY

C = 0, 1 or 2 where 0 represents 19, 1 represents 20 and 2 represents 21

Example:

1022511 would be 02/25/2011 in mm/dd/yyyy format.

Is there a way to convert this into mm/dd/yyyy format in sql server?

Is CMMDDYY even a valid date format? I haven't found much information on it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感性不性感 2024-11-22 10:11:49

年算法很简单:(19 + int(C))*100 + int(yy)

试试这个:

declare @st nvarchar(7)
set @st = '1030609'

select 
    cast(
        substring(@st,2,2) + '/' 
        + substring(@st,4,2) + '/' 
        + cast((19 + cast(substring(@st,1,1) as int) )* 100 
                       + cast(substring(@st,6,2) as int) as nvarchar)
    as datetime)

输出:

在此处输入图像描述

The Year algorithm is simply: (19 + int(C))*100 + int(yy)

Try this:

declare @st nvarchar(7)
set @st = '1030609'

select 
    cast(
        substring(@st,2,2) + '/' 
        + substring(@st,4,2) + '/' 
        + cast((19 + cast(substring(@st,1,1) as int) )* 100 
                       + cast(substring(@st,6,2) as int) as nvarchar)
    as datetime)

This outputs:

enter image description here

我也只是我 2024-11-22 10:11:49

它听起来不像内置日期格式,但如果是的话,您应该能够在 msdn 上找到它。如果没有,您可以在 SQL Server 中编写一个函数,将该格式的字符串解析为 DateTime 对象

It doesn't sound like a built in date format but you should be able to find it on msdn if it is. If not you could write a function in SQL server that parses a string in that format to a DateTime object

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文