Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Ottieni un elenco di fusi orari supportati in SQL Server (T-SQL)

SQL Server fornisce il sys.time_zone_info visualizzazione della configurazione a livello di server per restituire un elenco di fusi orari supportati.

Puoi recuperarli con un semplice SELECT dichiarazione.

Esempio

L'esecuzione della seguente istruzione restituisce tutti i fusi orari supportati.

SELECT * FROM sys.time_zone_info;

Questo restituisce 139 righe sul mio sistema.

Puoi restringere i risultati con un WHERE clausola. Se non sei sicuro di come si chiama il fuso orario, puoi sempre usare il LIKE clausola con alcuni caratteri jolly.

SELECT * FROM sys.time_zone_info
WHERE name LIKE '%Europe%';

Risultato:

+--------------------------------+----------------------+--------------------+
| name                           | current_utc_offset   | is_currently_dst   |
|--------------------------------+----------------------+--------------------|
| W. Europe Standard Time        | +02:00               | 1                  |
| Central Europe Standard Time   | +02:00               | 1                  |
| Central European Standard Time | +02:00               | 1                  |
| E. Europe Standard Time        | +03:00               | 1                  |
+--------------------------------+----------------------+--------------------+

Se ti stai chiedendo quale sia il is_currently_dst la colonna è per, specifica se il fuso orario sta attualmente osservando l'ora legale (1 se lo è, 0 se non lo è).

Pertanto, puoi anche effettuare una ricerca per vedere quali fusi orari osservano l'ora legale.

SELECT
  name,
  current_utc_offset
FROM sys.time_zone_info
WHERE is_currently_dst = 1;

Ecco il risultato che ho ottenuto quando ho eseguito questa query:

+--------------------------------+----------------------+
| name                           | current_utc_offset   |
|--------------------------------+----------------------|
| Aleutian Standard Time         | -09:00               |
| Alaskan Standard Time          | -08:00               |
| Pacific Standard Time (Mexico) | -07:00               |
| Pacific Standard Time          | -07:00               |
| Mountain Standard Time         | -06:00               |
| Central Standard Time          | -05:00               |
| Easter Island Standard Time    | -05:00               |
| Eastern Standard Time          | -04:00               |
| Haiti Standard Time            | -04:00               |
| Cuba Standard Time             | -04:00               |
| US Eastern Standard Time       | -04:00               |
| Turks And Caicos Standard Time | -04:00               |
| Atlantic Standard Time         | -03:00               |
| Pacific SA Standard Time       | -03:00               |
| Newfoundland Standard Time     | -02:30               |
| Greenland Standard Time        | -02:00               |
| Saint Pierre Standard Time     | -02:00               |
| Mid-Atlantic Standard Time     | -01:00               |
| Azores Standard Time           | +00:00               |
| GMT Standard Time              | +01:00               |
| Morocco Standard Time          | +01:00               |
| W. Europe Standard Time        | +02:00               |
| Central Europe Standard Time   | +02:00               |
| Romance Standard Time          | +02:00               |
| Central European Standard Time | +02:00               |
| Jordan Standard Time           | +03:00               |
| GTB Standard Time              | +03:00               |
| Middle East Standard Time      | +03:00               |
| E. Europe Standard Time        | +03:00               |
| Syria Standard Time            | +03:00               |
| West Bank Standard Time        | +03:00               |
| FLE Standard Time              | +03:00               |
| Israel Standard Time           | +03:00               |
| Iran Standard Time             | +04:30               |
| Cen. Australia Standard Time   | +10:30               |
| AUS Eastern Standard Time      | +11:00               |
| Tasmania Standard Time         | +11:00               |
| Lord Howe Standard Time        | +11:00               |
| Norfolk Standard Time          | +12:00               |
| New Zealand Standard Time      | +13:00               |
| Kamchatka Standard Time        | +13:00               |
| Chatham Islands Standard Time  | +13:45               |
| Samoa Standard Time            | +14:00               |
+--------------------------------+----------------------+

Puoi anche ottenere il fuso orario del tuo server e confrontarlo con la voce pertinente in questo elenco, se lo desideri.