English 中文(简体)
日期:
原标题:datename function in sql

我想从规定日期开始一周,因为我与国家能源局一起努力,争取获得能源。

 Select DateName(WEEK, 2012-03-09 )

产出为10。 我愿获得本周的起始日期和结束日期,如<代码>2012-03-04至2012-03-10。 是否可能?

最佳回答

与此类似:

DECLARE @MyDate Date =  2012-03-09 ;

-- This gets you the SUNDAY of the week your date falls in...
SELECT DATEADD(DAY, -(DATEPART(WEEKDAY, @MyDate) - 1), @MyDate);

-- This gets you the SATURDAY of the week your date falls in...
SELECT DATEADD(DAY, (7 - DATEPART(WEEKDAY, @MyDate)), @MyDate);

-- This will show the range as a single column
SELECT
  CONVERT(NVarChar, DATEADD(DAY, -(DATEPART(WEEKDAY, @MyDate) - 1), @MyDate))
  +   through   +
  CONVERT(NVarChar, DATEADD(DAY, (7 - DATEPART(WEEKDAY, @MyDate)), @MyDate));
问题回答

尝试如下,修改日期至日期

Select 
DateAdd(d, 1- DatePart(dw,GetDate()),GetDate()) FirstDayOfWeek,
DateAdd(d, 7- DatePart(dw,GetDate()),GetDate()) LastDayOfWeek

这并不取决于您的缺席确定日期。

set datefirst 4 -- this row does nothing in this query. 
                -- It will hurt the queries using datepart though
declare @t table(dt datetime)
insert @t values( 2012-03-09 11:12 ), ( 2012-03-10 11:12 ),( 2012-03-11 11:12 )

-- week from sunday to saturday 
Select dateadd(week, datediff(week, 0, dt),-1),
       dateadd(week, datediff(week, 0, dt),+5)
from @t




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

难以执行 REGEXP_SUBSTR

I m 查询Oracle 10g。 我有两张表格(样本数据见下文)。 i m 试图提取一些领域

SQL Query Shortcuts

What are some cool SQL shorthands that you know of? For example, something I learned today is you can specify to group by an index: SELECT col1, col2 FROM table GROUP BY 2 This will group by col2

PHP array callback functions for cleaning output

I have an array of output from a database. I am wondering what the cleanest way to filter the values is example array Array ( [0] => Array ( [title] => title 1 ...

OracleParameter and DBNull.Value

we have a table in an Oracle Database which contains a column with the type Char(3 Byte). Now we use a parameterized sql to select some rows with a DBNull.Value and it doesn t work: OracleCommand ...

Running numbers in SQL

I have a SQL-statement like this: SELECT name FROM users WHERE deleted = 0; How can i create a result set with a running number in the first row? So the result would look like this: 1 Name_1 2 ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签