当前位置: 首页 > 面试题库 >

使用T-SQL从日期月份和年份中创建日期

阎自怡
2023-03-14
问题内容

我正在尝试将包含2007年12月1日等各个部分的日期转换为SQL Server 2005中的日期时间。我尝试了以下方法:

CAST(DATEPART(year, DATE)+'-'+ DATEPART(month, DATE) +'-'+ DATEPART(day, DATE) AS DATETIME)

但这会导致日期错误。将三个日期值转换为正确的日期时间格式的正确方法是什么?


问题答案:

假设y, m, d全部int,如何:

CAST(CAST(y AS varchar) + '-' + CAST(m AS varchar) + '-' + CAST(d AS varchar) AS DATETIME)


 类似资料:
  • 问题内容: 我需要像’Jan 2008’这样的SQL Server中日期时间的月份+年。我按月,年对查询进行分组。我已经搜索并找到了datepart,convert等功能,但是似乎没有一个有用的功能。我在这里想念什么吗?有这个功能吗? 问题答案: 如果您想让它们以字符串形式返回,则应采用这种格式; 这是其他格式选项

  • 问题内容: 我在确定仅基于月份和年份的SQL中比较日期的最佳方法时遇到了麻烦。 我们会根据日期进行计算,由于结算是按月进行的,所以该月的日期造成了更大的障碍。 例如 上面的示例将不返回任何行,因为@ date1大于@ date2。因此,我想找到一种摆脱困境的方法。 同样,以下情况由于相同的原因也让我感到悲伤。 我已经完成日期的内联转换,以得出指定日期的月份的第一天和最后一天。 必须有一种更简单的方

  • 我使用postgres的rails应用程序和我有一个postgresql db。我有一个要求选择和

  • 如果在程序中有人给我天数(ab=“days”),我需要将变量“days”设置为相同的数字(“val”中的值),如果有人给我月份(ab=“months”),那么我需要将其转换为天(val中的值),如果有人给我年(ab=“years”),那么我需要将其转换为天(val中的值)。ie如果用户在变量“ab”中指定了值的类型(即是月、年或日期)和变量“val”中的天数(天/月/年),我需要在变量“天”中获得

  • 我很难确定在SQL中只根据月份和年份来比较日期的最佳方式。 我们根据日期进行计算,并且由于按月计费,因此该月的日期造成了更多的障碍。 比如说 上述示例不会返回任何行,因为@date1大于@date2。所以我想找个方法把这一天从等式中去掉。 同样,下面的情况也同样让我感到悲伤。 我已经完成了日期的内联转换,以导出指定日期的第一天和最后一天。 一定有更简单的方法。有什么建议吗?