SQL Server/T-SQL/Date Timezone/Date Format

Материал из SQL эксперт
Перейти к: навигация, поиск

CONVERT(VarChar(50), GETDATE(), 100)

28>
29> SELECT "Default Date: " + CONVERT(VarChar(50), GETDATE(), 100)
30> GO
----------------------------------------------------------------
Default Date: Oct 12 2006  5:45PM
(1 rows affected)



CONVERT(VarChar(50), GETDATE(), 101)

1>
2>
3> SELECT "US Date: " + CONVERT(VarChar(50), GETDATE(), 101)
4> GO
-----------------------------------------------------------
US Date: 10/12/2006
(1 rows affected)



CONVERT(VarChar(50), GETDATE(), 102)

1>
2>
3> SELECT "ANSI Date: " + CONVERT(VarChar(50), GETDATE(), 102)
4> GO
-------------------------------------------------------------
ANSI Date: 2006.10.12
(1 rows affected)
1>



CONVERT(VarChar(50), GETDATE(), 103)

1> SELECT "UK/French Date: " + CONVERT(VarChar(50), GETDATE(), 103)
2>
------------------------------------------------------------------
UK/French Date: 12/10/2006
(1 rows affected)



CONVERT(VarChar(50), GETDATE(), 104)

3> SELECT "German Date: " + CONVERT(VarChar(50), GETDATE(), 104)
4> GO
---------------------------------------------------------------
German Date: 12.10.2006
(1 rows affected)
1>



CONVERT(varchar,GETDATE(),108) "hh:mm:ss"

3> SELECT TOP 1 GETDATE() "Default",
4>     CONVERT(varchar,GETDATE(),108) "hh:mm:ss",
5>     CONVERT(varchar,GETDATE(),114) "hh:mm:ss:mmm",
6>     CONVERT(varchar,GETDATE(),113) "dd Mmm yyyy hh:mm:ss:mmm"
7> GO
Default                 hh:mm:ss                       hh:mm:ss:mmm                   dd Mmm yyyy hh:mm:ss:mmm
----------------------- ------------------------------ ------------------------------ ------------------------------
2006-10-12 07:15:07.950 07:15:07                       07:15:07:950                   12 Oct 2006 07:15:07:950
(1 rows affected)



CONVERT(varchar,GETDATE(),113) "dd Mmm yyyy hh:mm:ss:mmm"

3> SELECT TOP 1 GETDATE() "Default",
4>     CONVERT(varchar,GETDATE(),108) "hh:mm:ss",
5>     CONVERT(varchar,GETDATE(),114) "hh:mm:ss:mmm",
6>     CONVERT(varchar,GETDATE(),113) "dd Mmm yyyy hh:mm:ss:mmm"
7> GO
Default                 hh:mm:ss                       hh:mm:ss:mmm                   dd Mmm yyyy hh:mm:ss:mmm
----------------------- ------------------------------ ------------------------------ ------------------------------
2006-10-12 07:15:07.950 07:15:07                       07:15:07:950                   12 Oct 2006 07:15:07:950
(1 rows affected)



CONVERT(varchar,GETDATE(),114) "hh:mm:ss:mmm"

3> SELECT TOP 1 GETDATE() "Default",
4>     CONVERT(varchar,GETDATE(),108) "hh:mm:ss",
5>     CONVERT(varchar,GETDATE(),114) "hh:mm:ss:mmm",
6>     CONVERT(varchar,GETDATE(),113) "dd Mmm yyyy hh:mm:ss:mmm"
7> GO
Default                 hh:mm:ss                       hh:mm:ss:mmm                   dd Mmm yyyy hh:mm:ss:mmm
----------------------- ------------------------------ ------------------------------ ------------------------------
2006-10-12 07:15:07.950 07:15:07                       07:15:07:950                   12 Oct 2006 07:15:07:950
(1 rows affected)



CONVERT(varchar, getdate(), 1(2,3,4,5,6))

1> SELECT
2>    CONVERT(varchar, getdate(), 1),
3>    CONVERT(varchar, getdate(), 2),
4>    CONVERT(varchar, getdate(), 3),
5>    CONVERT(varchar, getdate(), 4),
6>    CONVERT(varchar, getdate(), 5),
7>    CONVERT(varchar, getdate(), 6)
8> GO

------------------------------ ------------------------------ ------------------------------ ------------------------------ ------------------------------ -------------------------
-----
10/12/06                       06.10.12                       12/10/06                       12.10.06                       12-10-06                       12 Oct 06

(1 rows affected)
1>



Format date: "mm/dd/yyyy"

1> create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int,
5>     start_date  datetime,
6>     city        nvarchar (10),
7>     region      char (1))
8> GO
1>
2> insert into employee (ID, name,    salary, start_date, city,       region)
3>               values (1,  "Jason", 40420,  "02/01/94", "New York", "W")
4> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (2,  "Robert",14420,  "01/02/95", "Vancouver","N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (3,  "Celia", 24020,  "12/03/96", "Toronto",  "W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (4,  "Linda", 40620,  "11/04/97", "New York", "N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (5,  "David", 80026,  "10/05/98", "Vancouver","W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (6,  "James", 70060,  "09/06/99", "Toronto",  "N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (7,  "Alison",90620,  "08/07/00", "New York", "W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (8,  "Chris", 26020,  "07/08/01", "Vancouver","N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (9,  "Mary",  60020,  "06/09/02", "Toronto",  "W")
3> GO
(1 rows affected)
1>
2> select * from employee
3> GO
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W
(9 rows affected)
1>
2> SELECT TOP 1 ID, Start_Date,
3>     CONVERT(varchar,Start_Date,100) "Mmm dd yyyy hh:mmdp",
4>     CONVERT(varchar,Start_Date,101) "mm/dd/yyyy",
5>     CONVERT(varchar,Start_Date,103) "dd/mm/yyyy"
6> FROM Employee
7> GO
ID          Start_Date              Mmm dd yyyy hh:mmdp            mm/dd/yyyy                     dd/mm/yyyy
----------- ----------------------- ------------------------------ ------------------------------ ----------------
          1 1994-02-01 00:00:00.000 Feb  1 1994 12:00AM            02/01/1994                     01/02/1994
(1 rows affected)
1>
2>
3> drop table employee
4> GO
1>



Format date: "Mmm dd yyyy hh:mmdp"

1> create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int,
5>     start_date  datetime,
6>     city        nvarchar (10),
7>     region      char (1))
8> GO
1>
2> insert into employee (ID, name,    salary, start_date, city,       region)
3>               values (1,  "Jason", 40420,  "02/01/94", "New York", "W")
4> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (2,  "Robert",14420,  "01/02/95", "Vancouver","N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (3,  "Celia", 24020,  "12/03/96", "Toronto",  "W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (4,  "Linda", 40620,  "11/04/97", "New York", "N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (5,  "David", 80026,  "10/05/98", "Vancouver","W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (6,  "James", 70060,  "09/06/99", "Toronto",  "N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (7,  "Alison",90620,  "08/07/00", "New York", "W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (8,  "Chris", 26020,  "07/08/01", "Vancouver","N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (9,  "Mary",  60020,  "06/09/02", "Toronto",  "W")
3> GO
(1 rows affected)
1>
2> select * from employee
3> GO
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W
(9 rows affected)
1>
2> SELECT TOP 1 ID, Start_Date,
3>     CONVERT(varchar,Start_Date,100) "Mmm dd yyyy hh:mmdp",
4>     CONVERT(varchar,Start_Date,101) "mm/dd/yyyy",
5>     CONVERT(varchar,Start_Date,103) "dd/mm/yyyy"
6> FROM Employee
7> GO
ID          Start_Date              Mmm dd yyyy hh:mmdp            mm/dd/yyyy                     dd/mm/yyyy
----------- ----------------------- ------------------------------ ------------------------------ ----------------
          1 1994-02-01 00:00:00.000 Feb  1 1994 12:00AM            02/01/1994                     01/02/1994
(1 rows affected)
1>
2>
3> drop table employee
4> GO
1>



Reference Date data type as string (char)

1> create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int,
5>     start_date  datetime,
6>     city        nvarchar (10),
7>     region      char (1))
8> GO
1>
2> insert into employee (ID, name,    salary, start_date, city,       region)
3>               values (1,  "Jason", 40420,  "02/01/94", "New York", "W")
4> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (2,  "Robert",14420,  "01/02/95", "Vancouver","N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (3,  "Celia", 24020,  "12/03/96", "Toronto",  "W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (4,  "Linda", 40620,  "11/04/97", "New York", "N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (5,  "David", 80026,  "10/05/98", "Vancouver","W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (6,  "James", 70060,  "09/06/99", "Toronto",  "N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (7,  "Alison",90620,  "08/07/00", "New York", "W")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (8,  "Chris", 26020,  "07/08/01", "Vancouver","N")
3> GO
(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (9,  "Mary",  60020,  "9/3/1996", "Toronto",  "W")
3> GO
(1 rows affected)
1>
2> select * from employee
3> GO
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          9 Mary             60020 1996-09-03 00:00:00.000 Toronto    W
(9 rows affected)
1>
2> SELECT *
3> FROM Employee
4> WHERE Start_Date = "9/3/1996"
5> GO
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          9 Mary             60020 1996-09-03 00:00:00.000 Toronto    W
(1 rows affected)
1>
2>
3> drop table employee
4> GO
1>