sqlserver日期转换为“yyyy-mm-dd”的多种方法
当涉及 sql server 中的日期格式转换时,有许多方法可供选择。这里我将列举多种方法:
方法 1: 使用convert函数
select convert(varchar, yourdatecolumn, 23) as formatteddate
from yourtable;
方法 2: 使用format函数 (sql server 2012及更高版本)
select format(yourdatecolumn, 'yyyy-mm-dd') as formatteddate
from yourtable;
方法 3: 使用cast和convert函数
select cast(convert(char(10), yourdatecolumn, 120) as varchar) as formatteddate
from yourtable;
方法 4: 使用datepart函数和字符串拼接
select
cast(datepart(year, yourdatecolumn) as varchar) + '-' +
right('0' + cast(datepart(month, yourdatecolumn) as varchar), 2) + '-' +
right('0' + cast(datepart(day, yourdatecolumn) as varchar), 2) as formatteddate
from yourtable;
方法 5: 使用concat函数和datefromparts函数 (sql server 2012及更高版本)
select concat(
datepart(year, yourdatecolumn),
'-',
format(datepart(month, yourdatecolumn), '00'),
'-',
format(datepart(day, yourdatecolumn), '00')
) as formatteddate
from yourtable;
方法 6: 使用字符串函数
select
left(convert(varchar, yourdatecolumn, 120), 10) as formatteddate
from yourtable;
方法 7: 使用substring和convert函数
select
substring(convert(varchar, yourdatecolumn, 120), 1, 10) as formatteddate
from yourtable;
方法 8: 使用自定义函数 (udf)
首先,你可以创建一个自定义函数来执行日期格式转换:
create function dbo.formatdate (@date datetime)
returns varchar(10)
as
begin
return convert(varchar, @date, 23)
end
然后,在查询中使用这个函数:
select dbo.formatdate(yourdatecolumn) as formatteddate
from yourtable;
方法 9: 使用sql server reporting services (ssrs)
如果你在使用 sql server reporting services (ssrs),你可以在报表中直接格式化日期字段,以显示为 “yyyy-mm-dd” 格式。
这些方法中的每一种都可以根据你的具体需求和sql server版本来选择。希望这些示例能帮助你进行日期格式转换。
发表评论