Мислех, че би било интересно да изпълня няколко бързи заявки, за да видя как различните форматиращи низове влияят върху форматирането на стойностите за дата/час.
Пример 1 – Инвариантната култура
DECLARE @date datetimeoffset, @culture char(2); SET @date ='2030-05-25 23:59:30.1234567 +07:00';SET @culture ='iv';ИЗБЕРЕТЕ ФОРМАТ(@date, 'd', @culture) КАТО 'd', FORMAT(@ дата, 'D', @culture) КАТО 'D', FORMAT(@date, 'f', @culture) КАТО 'f', FORMAT(@date, 'F', @culture) КАТО 'F', FORMAT( @date, 'g', @culture) КАТО 'g', FORMAT(@date, 'G', @culture) КАТО 'G', FORMAT(@date, 'm', @culture) КАТО 'm', FORMAT (@date, 'M', @culture) КАТО 'M', FORMAT(@date, 'o', @culture) КАТО 'o', FORMAT(@date, 'O', @culture) КАТО 'O', FORMAT(@date, 'r', @culture) КАТО 'r', FORMAT(@date, 'R', @culture) КАТО 'R', FORMAT(@date, 's', @culture) КАТО 's' , FORMAT(@date, 't', @culture) КАТО 't', FORMAT(@date, 'T', @culture) КАТО 'T', FORMAT(@date, 'u', @culture) КАТО 'u ', FORMAT(@date, 'U', @culture) КАТО 'U', FORMAT(@date, 'y', @culture) КАТО 'y', FORMAT(@date, 'Y', @culture) КАТО ' Y';
Резултат (с помощта на вертикален изход):
<пред>г | 25.05.2030 г. | събота, 25 май 2030 г. | Събота, 25 май 2030 г., 23:59 F | Събота, 25 май 2030 г. 23:59:30 г | 25.05.2030 г. 23:59G | 25.05.2030 г. 23:59:30 ч. | 25 май | 25 май | 2030-05-25T23:59:30.1234567+07:00O | 2030-05-25T23:59:30.1234567+07:00r | Събота, 25 май 2030 г., 16:59:30 GMTR | Събота, 25 май 2030 г., 16:59:30 GMTs | 2030-05-25T23:59:30t | 23:59 ч. | 23:59:30 часа | 25.05.2030 16:59:30ZU | NULLy | май 2030 г. | 2030 майПример 2 – американски английски
DECLARE @date datetimeoffset, @culture char(5);SET @date ='2030-05-25 23:59:30.1234567 +07:00';SET @culture ='en-us';ИЗБЕРЕТЕ ФОРМАТ(@ дата, 'd', @culture) КАТО 'd', FORMAT(@date, 'D', @culture) КАТО 'D', FORMAT(@date, 'f', @culture) КАТО 'f', FORMAT( @date, 'F', @culture) КАТО 'F', FORMAT(@date, 'g', @culture) КАТО 'g', FORMAT(@date, 'G', @culture) КАТО 'G', FORMAT (@date, 'm', @culture) КАТО 'm', FORMAT(@date, 'M', @culture) КАТО 'M', FORMAT(@date, 'o', @culture) КАТО 'o', FORMAT(@date, 'O', @culture) КАТО 'O', FORMAT(@date, 'r', @culture) КАТО 'r', FORMAT(@date, 'R', @culture) КАТО 'R' , FORMAT(@date, 's', @culture) AS 's', FORMAT(@date, 't', @culture) AS 't', FORMAT(@date, 'T', @culture) AS 'T ', FORMAT(@date, 'u', @culture) КАТО 'u', FORMAT(@date, 'U', @culture) КАТО 'U', FORMAT(@date, 'y', @culture) КАТО ' y', FORMAT(@date, 'Y', @culture) КАТО 'Y';
Резултат (с помощта на вертикален изход):
<пред>г | 25.05.2030 г. | събота, 25 май 2030 г. | Събота, 25 май 2030 г. 11:59 PMF | Събота, 25 май 2030 г., 23:59:30 ч. | 25.05.2030 23:59 PMG | 25.05.2030 г. 23:59:30 | 25 май | 25 май | 2030-05-25T23:59:30.1234567+07:00O | 2030-05-25T23:59:30.1234567+07:00r | Събота, 25 май 2030 г., 16:59:30 GMTR | Събота, 25 май 2030 г., 16:59:30 GMTs | 2030-05-25T23:59:30t | 23:59 PMT | 23:59:30 PMu | 25.05.2030 16:59:30ZU | NULLy | май 2030 г. | май 2030 г.Пример 3 – британски
DECLARE @date datetimeoffset, @culture char(5);SET @date ='2030-05-25 23:59:30.1234567 +07:00';SET @culture ='en-gb';ИЗБЕРЕТЕ ФОРМАТ(@ дата, 'd', @culture) КАТО 'd', FORMAT(@date, 'D', @culture) КАТО 'D', FORMAT(@date, 'f', @culture) КАТО 'f', FORMAT( @date, 'F', @culture) КАТО 'F', FORMAT(@date, 'g', @culture) КАТО 'g', FORMAT(@date, 'G', @culture) КАТО 'G', FORMAT (@date, 'm', @culture) КАТО 'm', FORMAT(@date, 'M', @culture) КАТО 'M', FORMAT(@date, 'o', @culture) КАТО 'o', FORMAT(@date, 'O', @culture) КАТО 'O', FORMAT(@date, 'r', @culture) КАТО 'r', FORMAT(@date, 'R', @culture) КАТО 'R' , FORMAT(@date, 's', @culture) AS 's', FORMAT(@date, 't', @culture) AS 't', FORMAT(@date, 'T', @culture) AS 'T ', FORMAT(@date, 'u', @culture) КАТО 'u', FORMAT(@date, 'U', @culture) КАТО 'U', FORMAT(@date, 'y', @culture) КАТО ' y', FORMAT(@date, 'Y', @culture) КАТО 'Y';
Резултат (с помощта на вертикален изход):
<пред>г | 25/05/2030D | 25 май 2030 г. | 25 май 2030 г. 23:59F | 25 май 2030 г. 23:59:30 г | 25/05/2030 23:59G | 25/05/2030 23:59:30m | 25 май месец | 25 май | 2030-05-25T23:59:30.1234567+07:00O | 2030-05-25T23:59:30.1234567+07:00r | Събота, 25 май 2030 г., 16:59:30 GMTR | Събота, 25 май 2030 г., 16:59:30 GMTs | 2030-05-25T23:59:30t | 23:59 ч. | 23:59:30 часа | 25.05.2030 16:59:30ZU | NULLy | май 2030 г. | май 2030 г.Пример 4 – немски
DECLARE @date datetimeoffset, @culture char(2);SET @date ='2030-05-25 23:59:30.1234567 +07:00';SET @culture ='de';ИЗБЕРЕТЕ ФОРМАТ(@date, 'd', @culture) КАТО 'd', FORMAT(@date, 'D', @culture) КАТО 'D', FORMAT(@date, 'f', @culture) КАТО 'f', FORMAT(@date , 'F', @culture) КАТО 'F', FORMAT(@date, 'g', @culture) КАТО 'g', FORMAT(@date, 'G', @culture) КАТО 'G', FORMAT(@ дата, 'm', @culture) КАТО 'm', FORMAT(@date, 'M', @culture) КАТО 'M', FORMAT(@date, 'o', @culture) КАТО 'o', FORMAT( @date, 'O', @culture) КАТО 'O', FORMAT(@date, 'r', @culture) КАТО 'r', FORMAT(@date, 'R', @culture) КАТО 'R', FORMAT (@date, 's', @culture) КАТО 's', FORMAT(@date, 't', @culture) КАТО 't', FORMAT(@date, 'T', @culture) КАТО 'T', FORMAT(@date, 'u', @culture) КАТО 'u', FORMAT(@date, 'U', @culture) КАТО 'U', FORMAT(@date, 'y', @culture) КАТО 'y' , FORMAT(@date, 'Y', @culture) КАТО 'Y';
Резултат (с помощта на вертикален изход):
<пред>г | 25.05.2030г | Самстаг, 25 май 2030 г. | Самстаг, 25 май 2030 г. 23:59F | Самстаг, 25 май 2030 г. 23:59:30 г | 25.05.2030 г. 23:59G | 25.05.2030 23:59:30м | 25. MaiM | 25. Майо | 2030-05-25T23:59:30.1234567+07:00O | 2030-05-25T23:59:30.1234567+07:00r | Събота, 25 май 2030 г., 16:59:30 GMTR | Събота, 25 май 2030 г., 16:59:30 GMTs | 2030-05-25T23:59:30t | 23:59 ч. | 23:59:30 часа | 25.05.2030 16:59:30ZU | NULLy | май 2030 г. | май 2030Следващата таблица предоставя описание за всеки форматен низ.
DECLARE @thedatetimeoffset datetimeoffset ='2030-05-25 23:59:30.1234567 +12:15';ИЗБЕРЕТЕ ФОРМАТ(@thedatetimeoffset, 'd') КАТО 'd (Кратка дата)', FORMAToff(@thedate) D') КАТО 'D (Дълга дата)', FORMAT(@thedatetimeoffset, 'f') AS 'f (Пълна дата/час - кратко време)', FORMAT(@thedatetimeoffset, 'F') AS 'F (Пълна дата /time - дълго време)', FORMAT(@thedatetimeoffset, 'g') AS 'g (Обща дата/час - кратко време)', FORMAT(@thedatetimeoffset, 'G') AS 'G (Обща дата/час - дълго време)', FORMAT(@thedatetimeoffset, 'm') КАТО 'm (месец/ден)', FORMAT(@thedatetimeoffset, 'M') КАТО 'M (месец/ден)', FORMAT(@thedatetimeoffset, 'o' ) AS 'o (Дата/време на двупосочно пътуване)', FORMAT(@thedatetimeoffset, 'O') AS 'O (Дата/време на двупосочно пътуване)', FORMAT(@thedatetimeoffset, 'r') AS 'r (RFC1123 )', FORMAT(@thedatetimeoffset, 'R') КАТО 'R (RFC1123)', FORMAT(@thedatetimeoffset, 's') AS 's (Сортируема дата/час)', FORMAT(@thedatetimeoffset, 't') AS 't (кратко време)', FORMAT(@thedatetimeoffset, 'T') КАТО 'T (дълго време)', FORMA T(@thedatetimeoffset, 'u') AS 'u (Универсална сортируема дата/час)', FORMAT(@thedatetimeoffset, 'U') AS 'U (универсална пълна дата/час)', FORMAT(@thedatetimeoffset, 'y' ) КАТО 'y (година/месец)', FORMAT(@thedatetimeoffset, 'Y') КАТО 'Y (година/месец)';
Резултат:
d (Кратка дата) | 25.05.2030 г. (Дълга дата) | Събота, 25 май 2030 г. (Пълна дата/час - кратко време) | Събота, 25 май 2030 г. 11:59 PMF (Пълна дата/час - дълго време) | Събота, 25 май 2030 г., 23:59:30 ч. (Обща дата/час - кратко време) | 25.05.2030 11:59 PMG (Обща дата/час - дълго време) | 25.05.2030 г. 23:59:30 ч. (месец/ден) | 25 май (месец/ден) | 25 май (Дата/час за двупосочно пътуване) | 2030-05-25T23:59:30.1234567+12:15O (Дата/час за двупосочно пътуване) | 2030-05-25T23:59:30.1234567+12:15r (RFC1123) | сб, 25 май 2030 г. 11:44:30 GMTR (RFC1123) | Събота, 25 май 2030 г., 11:44:30 GMTs (дата/час за сортиране) | 2030-05-25T23:59:30t (Кратко време) | 23:59 PMT (Дълго време) | 23:59:30 PMu (универсална дата/час за сортиране) | 2030-05-25 11:44:30ZU (универсална пълна дата/час) | NULLy (година/месец) | май 2030 г. (година/месец) | май 2030 г.