【问题标题】:Convert datetime to date using a function使用函数将日期时间转换为日期
【发布时间】:2017-08-17 02:21:29
【问题描述】:

我的数据库中有一个列,我需要使用 SQL Server 函数将日期时间转换为日期数据类型。我不知道如何获得正确的语法。我能否获得语法方面的帮助,以便 IntelliSense 停止对我大喊大叫,让我可以运行查询?

CREATE FUNCTION fChangeDateFormat (@date01 date)
RETURNS DATE
AS

RETURN(
SELECT
    Convert(DateTime, OrderDate, 101)
FROM
    Orders
WHERE 
    OrderDate = @date01
)

【问题讨论】:

  • CONVERT 已经是一个函数了,为什么还要把它包装在另一个函数中呢?您是希望永久更改表格列的数据类型,还是出于报告目的即时进行转换?
  • 我需要永久更改列的数据类型。即时是什么意思?
  • 您不需要使用函数来更改列,我只需添加一个新列,然后运行 ​​UPDATE 查询来填充它,然后删除旧列。看起来你的任务过于复杂了。

标签: sql-server function date datetime sql-convert


【解决方案1】:

你可以使用转换为,

select CONVERT(date,@date01,101) as dd from Orders

如果您使用 SQl server 2012 + 使用 FORMAT, 'd' 是获取短日期格式。

SELECT FORMAT(@date01,'d','en-US') as dd from Orders

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2013-09-20
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    相关资源
    最近更新 更多