w3resource

AdventureWorks Database: Convert order date in the 'America/Denver' time zone

SQL Query - AdventureWorks: Exercise-159 with Solution

159. From the following table write a query in SQL to convert the order date in the 'America/Denver' time zone. Return salesorderid, order date, and orderdate_timezoneade.

Sample table: Sales.SalesOrderHeader
salesorderid|revisionnumber|orderdate              |duedate                |shipdate               |status|onlineorderflag|purchaseordernumber|accountnumber |customerid|salespersonid|territoryid|billtoaddressid|shiptoaddressid|shipmethodid|creditcardid|creditcardapprovalcode|currencyrateid|subtotal   |taxamt    |freight  |totaldue   |comment|rowguid                             |modifieddate           |
------------+--------------+-----------------------+-----------------------+-----------------------+------+---------------+-------------------+--------------+----------+-------------+-----------+---------------+---------------+------------+------------+----------------------+--------------+-----------+----------+---------+-----------+-------+------------------------------------+-----------------------+
       43659|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO522145787        |10-4020-000676|     29825|          279|          5|            985|            985|           5|       16281|105041Vi84182         |              | 20565.6206| 1971.5149| 616.0984| 23153.2339|       |79b65321-39ca-4115-9cba-8fe0903e12e6|2011-06-07 00:00:00.000|
       43660|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO18850127500      |10-4020-000117|     29672|          279|          5|            921|            921|           5|        5618|115213Vi29411         |              |  1294.2529|  124.2483|  38.8276|  1457.3288|       |738dc42d-d03b-48a1-9822-f95a67ea7389|2011-06-07 00:00:00.000|
       43661|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO18473189620      |10-4020-000442|     29734|          282|          6|            517|            517|           5|        1346|85274Vi6854           |             4| 32726.4786| 3153.7696|  985.553| 36865.8012|       |d91b9131-18a4-4a11-bc3a-90b6f53e9d74|2011-06-07 00:00:00.000|
       43662|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO18444174044      |10-4020-000227|     29994|          282|          6|            482|            482|           5|       10456|125295Vi53935         |             4| 28832.5289| 2775.1646| 867.2389| 32474.9324|       |4a1ecfc0-cc3a-4740-b028-1c50bb48711c|2011-06-07 00:00:00.000|
       43663|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO18009186470      |10-4020-000510|     29565|          276|          4|           1073|           1073|           5|        4322|45303Vi22691          |              |   419.4589|   40.2681|  12.5838|   472.3108|       |9b1e7a40-6ae0-4ad3-811c-a64951857c4b|2011-06-07 00:00:00.000|
       43664|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO16617121983      |10-4020-000397|     29898|          280|          1|            876|            876|           5|         806|95555Vi4081           |              | 24432.6088| 2344.9921|   732.81| 27510.4109|       |22a8a5da-8c22-42ad-9241-839489b6ef0d|2011-06-07 00:00:00.000|
       43665|             8|2011-05-31 00:00:00.000|2011-06-12 00:00:00.000|2011-06-07 00:00:00.000|     5|false          |PO16588191572      |10-4020-000146|     29580|          283|          1|            849|            849|           5|       15232|35568Vi78804          |              | 14352.7713| 1375.9427| 429.9821| 16158.6961|       |5602c304-853c-43d7-9e79-76e320d476cf|2011-06-07 00:00:00.000|
	   -- more --

Click to view Full table

Sample Solution:

-- Selecting SalesOrderID, OrderDate, and converting OrderDate to the timezone 'America/Denver'
SELECT 
    -- Selecting the SalesOrderID column from the SalesOrderHeader table
    SalesOrderID, 
    -- Selecting the OrderDate column from the SalesOrderHeader table
    OrderDate,
    -- Converting OrderDate to the timezone 'America/Denver' and renaming the result column as OrderDate_TimeZonePST
    OrderDate ::timestamp AT TIME ZONE 'America/Denver' AS OrderDate_TimeZonePST  
-- From the SalesOrderHeader table
FROM 
    Sales.SalesOrderHeader;

Explanation:

  • This SQL code retrieves the SalesOrderID and OrderDate from the SalesOrderHeader table and converts the OrderDate to the timezone 'America/Denver'.
  • The SELECT statement specifies the columns to be included in the result set.
  • The FROM clause indicates the table from which data is being retrieved, which is the SalesOrderHeader table.
  • The OrderDate ::timestamp AT TIME ZONE 'America/Denver' expression converts the OrderDate column to the timezone 'America/Denver'.
  • The result set will contain the SalesOrderID, original OrderDate, and OrderDate converted to the timezone 'America/Denver', labeled as OrderDate_TimeZonePST.

Sample Output:

salesorderid|orderdate              |orderdate_timezoneade        |
------------+-----------------------+-----------------------------+
       43659|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43660|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43661|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43662|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43663|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43664|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43665|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43666|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43667|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
       43668|2011-05-31 00:00:00.000|2011-05-31 11:30:00.000 +0530|
...	   

SQL AdventureWorks Editor:

Practice Online


Contribute your code and comments through Disqus.

Previous: List people with three-letter first names ending in 'an'.
Next: Convert order date in the 'America/Denver' and 'America/Chicago' time zone.


What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://w3resource.com/sql-exercises/adventureworks/sql-adventureworks-exercise-159.php