SQL从查询中获取日期月份

时间:2011-04-04 16:27:43

标签: sql

我有一个名为invoicedate的日期栏,

我的查询是:

select
    MONTH(dbo.tblInvoices.InvoiceDate) as datemonth,
    Year(dbo.tblInvoices.InvoiceDate)as dateYear
from
    dbo.tblInvoices

此回归9 | 2009等...

如何将这些字符串作为一个字符串返回,就像在一列而不是两列中一样?输出示例:9/2009

SQL server 2005

5 个答案:

答案 0 :(得分:1)

SELECT 
CONCAT(MONTH(dbo.tblInvoices.InvoiceDate), '/', Year(dbo.tblInvoices.InvoiceDate)) 
from dbo.tblInvoices

应该做假设你使用MySQL的技巧。

答案 1 :(得分:1)

使用Google

检索的信息

首先返回SQL Concatenate Function

取决于您的数据库引擎......

  • MySQL:CONCAT()
  • Oracle:CONCAT(),||
  • SQL Server:+

示例1:

MySQL / Oracle:

SELECT CONCAT(region_name,store_name) FROM Geography 
WHERE store_name = 'Boston'; 

结果:

'EastBoston'

示例2:

Oracle:

SELECT region_name || ' ' || store_name FROM Geography 
WHERE store_name = 'Boston'; 

结果:

'东波士顿'

示例3:

SQL Server: 
SELECT region_name + ' ' + store_name FROM Geography 
WHERE store_name = 'Boston'; 

结果:

'东波士顿'

答案 2 :(得分:0)

select
    Convert(varchar(2), MONTH(dbo.tblInvoices.InvoiceDate))
    + '/' + Convert(varchar(4), Year(dbo.tblInvoices.InvoiceDate)) as date
from
    dbo.tblInvoices

Select
    Convert(varchar(6), dbo.tblInvoices.InvoiceDate, 112) As InvoiceYearMonth
From
    dbo.tblInvoices

检查MSDN以获取更多格式选项。

答案 3 :(得分:0)

你在这里使用什么样的SQL? to_date(dbo.tblInvoices.InvoiceDate, 'MM/YYYY')有效吗?

帕特里克指出,这很大程度上取决于你的数据库引擎。

答案 4 :(得分:0)

尝试使用+符号进行连接,例如

选择     MONTH(dbo.tblInvoices.InvoiceDate)+'/'+     年(dbo.tblInvoices.InvoiceDate)作为日期 从     dbo.tblInvoices