如何在SQL(T-SQL)中从日期组件创建日期?

Ken*_*itt 7 sql t-sql

如何在SQL(T-SQL)中构造本机日期数据类型值?

我添加了一些示例,但请提供您自己的示例.我的示例假设月份和年份作为整数值存储(或随时可用),但也许您的示例将假设日期和月份(或其他)存储为文本.我看不到未来; 让我感到惊讶

Mar*_*ith 20

SELECT DATEFROMPARTS(@Year, @Month, @Day)
Run Code Online (Sandbox Code Playgroud)

(来自SQL Server 2012)


And*_*y M 6

为什么,输入数据作为字符串是最明显的(因此几乎不令人惊讶,抱歉)解决方案之一:

SELECT
  mydate = CAST([year] + RIGHT('0' + [month], 2) + '01' AS datetime)
                                           /* or 'AS date' in SQL Server 2008+ */
FROM (
  SELECT [month] = '2',  [year] = '2011' UNION ALL
  SELECT [month] = '03', [year] = '2011' UNION ALL
  SELECT [month] = '5',  [year] = '2011' UNION ALL
  SELECT [month] = '12', [year] = '2011' UNION ALL
  SELECT [month] = '8',  [year] = '2084' UNION ALL
  SELECT [month] = '1',  [year] = '1940'
) x;
Run Code Online (Sandbox Code Playgroud)