将getdate()的数据放入字符串中

时间:2011-05-11 13:53:52

标签: sql-server-2005

在sqlserver 2005中,我正在使用此查询:

select getdate()print getdate()

我想将此返回的日期用作字符串以访问:

  1. 月份
  2. 年份(最后两位数)
  3. 日期(例如:01)
  4. 时间(例如:5:12)
  5. 我想连接所有数据。所有这些都应该是字符串格式。

3 个答案:

答案 0 :(得分:3)

首先:所有格式都应在客户端上完成。
现在我们已经开始研究CONVERTDATEPART函数了 CONVERT提供了许多可以使用的样式,而DATEPART则返回部分日期作为整数,您可以将其转换为varchar。

请注意,网上有很多这样的功能,所以搜索一些不会是个坏主意。

答案 1 :(得分:0)

如果您已经将所有部分都作为字符串连接,则可以将它们连接起来并使用CONVERT()

declare @my_year varchar(4)
declare @my_month varchar(4)
declare @my_day varchar(4)
declare @my_hour varchar(4)
declare @my_minute varchar(4)
declare @my_second varchar(4)

set @my_year = '1900'
set @my_month = '05'
set @my_day = '13'
set @my_hour = '05'
set @my_minute = '12'
set @my_second = '00'

select CONVERT(datetime,@my_year + 
                    @my_month + 
                    @my_day + 
                    ' ' + 
                    @my_hour + ':' + 
                    @my_minute + ':' + 
                    @my_second)
)

答案 2 :(得分:0)

你能用:

SELECT CONVERT(VARCHAR(19), GETDATE(), 120)

得到:

2011-05-11 15:02:36

并操纵它?