SQL Server/T-SQL Tutorial/Date Functions/DATENAME
Содержание
- 1 Combining this with DATEADD allows you to find out the month name in two months time:
- 2 DATENAME returns date"s character string representation: DATENAME(datepart,date)
- 3 Displaying the String Value for Part of a Date
- 4 Displaying the String Value for Part of a Date: Show the start Date"s day of the week
- 5 select DATENAME(day, "2002-35:00")
- 6 select DATENAME(dayofyear, "2002-35:00")
- 7 select DATENAME(hour, "2002-35:00")
- 8 select DATENAME(minute, "2002-35:00")
- 9 select DATENAME(month,"2002-09-30")
- 10 select DATENAME(month, "2002-35:00")
- 11 select DATENAME(quarter, "2002-35:00")
- 12 select DATENAME(second, "2002-35:00")
- 13 select DATENAME(week, "2002-35:00")
- 14 select DATENAME(weekday, "2002-35:00")
- 15 select DATENAME(year, "2002-35:00")
Combining this with DATEADD allows you to find out the month name in two months time:
16>
17> SELECT DATENAME(mm,DATEADD(mm,2,GETDATE()))
18> GO
------------------------------
December
(1 rows affected)
Year - yy, yyyy
Month - mm, m
Week - wk, ww
Day - dd, d
Hour - hh
Minute - mi, n
quarter - qq
day of year - dy
seconds - ss
milliseconds - ms
DATENAME returns date"s character string representation: DATENAME(datepart,date)
4>
5> SELECT DATENAME(DW,"10/01/97")
6> GO
------------------------------
Wednesday
(1 rows affected)
1>
Displaying the String Value for Part of a Date
DATENAME returns a string value for the part of a date specified in the datepart code. The syntax is:
DATENAME ( datepart , date )
The second parameter designates the date to base the string value on.
Displaying the String Value for Part of a Date: Show the start Date"s day of the week
3>
4> CREATE TABLE employee(
5> id INTEGER NOT NULL PRIMARY KEY,
6> first_name VARCHAR(10),
7> last_name VARCHAR(10),
8> salary DECIMAL(10,2),
9> start_Date DATETIME,
10> region VARCHAR(10),
11> city VARCHAR(20),
12> managerid INTEGER
13> );
14> GO
1> INSERT INTO employee VALUES (1, "Jason" , "Martin", 5890,"2005-03-22","North","Vancouver",3);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (2, "Alison", "Mathews",4789,"2003-07-21","South","Utown",4);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (3, "James" , "Smith", 6678,"2001-12-01","North","Paris",5);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (4, "Celia" , "Rice", 5567,"2006-03-03","South","London",6);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (5, "Robert", "Black", 4467,"2004-07-02","East","Newton",7);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (6, "Linda" , "Green" , 6456,"2002-05-19","East","Calgary",8);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (7, "David" , "Larry", 5345,"2008-03-18","West","New York",9);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (8, "James" , "Cat", 4234,"2007-07-17","West","Regina",9);
2> GO
(1 rows affected)
1> INSERT INTO employee VALUES (9, "Joan" , "Act", 6123,"2001-04-16","North","Toronto",10);
2> GO
(1 rows affected)
1>
2> select * from employee;
3> GO
id first_name last_name salary start_Date region city managerid
----------- ---------- ---------- ------------ ----------------------- ---------- -------------------- -----------
1 Jason Martin 5890.00 2005-03-22 00:00:00.000 North Vancouver 3
2 Alison Mathews 4789.00 2003-07-21 00:00:00.000 South Utown 4
3 James Smith 6678.00 2001-12-01 00:00:00.000 North Paris 5
4 Celia Rice 5567.00 2006-03-03 00:00:00.000 South London 6
5 Robert Black 4467.00 2004-07-02 00:00:00.000 East Newton 7
6 Linda Green 6456.00 2002-05-19 00:00:00.000 East Calgary 8
7 David Larry 5345.00 2008-03-18 00:00:00.000 West New York 9
8 James Cat 4234.00 2007-07-17 00:00:00.000 West Regina 9
9 Joan Act 6123.00 2001-04-16 00:00:00.000 North Toronto 10
(9 rows affected)
1>
2>
3>
4> SELECT ID,Start_Date,
5> DATENAME(dw, Start_Date) WeekDay
6> FROM Employee
7> GO
ID Start_Date WeekDay
----------- ----------------------- ------------------------------
1 2005-03-22 00:00:00.000 Tuesday
2 2003-07-21 00:00:00.000 Monday
3 2001-12-01 00:00:00.000 Saturday
4 2006-03-03 00:00:00.000 Friday
5 2004-07-02 00:00:00.000 Friday
6 2002-05-19 00:00:00.000 Sunday
7 2008-03-18 00:00:00.000 Tuesday
8 2007-07-17 00:00:00.000 Tuesday
9 2001-04-16 00:00:00.000 Monday
(9 rows affected)
1>
2> drop table employee;
3> GO
select DATENAME(day, "2002-35:00")
2> select DATENAME(day, "2002-09-30 11:35:00")
3> GO
------------------------------
30
(1 rows affected)
1>
select DATENAME(dayofyear, "2002-35:00")
2> select DATENAME(dayofyear, "2002-09-30 11:35:00")
3>
6> GO
------------------------------
273
(1 rows affected)
select DATENAME(hour, "2002-35:00")
2> select DATENAME(hour, "2002-09-30 11:35:00")
3> GO
------------------------------
11
(1 rows affected)
1>
select DATENAME(minute, "2002-35:00")
3> select DATENAME(minute, "2002-09-30 11:35:00")
4> GO
------------------------------
35
(1 rows affected)
1>
select DATENAME(month,"2002-09-30")
3> select DATENAME(month,"2002-09-30")
4> GO
------------------------------
September
(1 rows affected)
select DATENAME(month, "2002-35:00")
3> select DATENAME(month, "2002-09-30 11:35:00")
4> GO
------------------------------
September
(1 rows affected)
1>
select DATENAME(quarter, "2002-35:00")
3> select DATENAME(quarter, "2002-09-30 11:35:00")
4> GO
------------------------------
3
(1 rows affected)
select DATENAME(second, "2002-35:00")
3> select DATENAME(second, "2002-09-30 11:35:00")
4> GO
------------------------------
0
(1 rows affected)
1>
select DATENAME(week, "2002-35:00")
5> select DATENAME(week, "2002-09-30 11:35:00")
------------------------------
40
(1 rows affected)
select DATENAME(weekday, "2002-35:00")
2> select DATENAME(weekday, "2002-09-30 11:35:00")
3> GO
------------------------------
Monday
(1 rows affected)
1>
select DATENAME(year, "2002-35:00")
3> select DATENAME(year, "2002-09-30 11:35:00")
4> GO
------------------------------
2002
(1 rows affected)