SQL Format Currency Code Examples

Problem

When working with currency formats, there are many different money formats used around the world. For example, in the USA we use the $ for the currency symbol and a decimal point as a separator for money. Whereas in Latin America, we use the decimal point instead of a comma as the separator. Is there a simple way to handle the format of different currencies in Microsoft SQL Server?

Solution

In this tutorial, we will show different ways to output different currency formats with the T-SQL language.

FORMAT Function to SQL Format Currency

You can change the currency format using the SQL Server FORMAT function. This function allows you to format currency output. The following example will show how to work with a different number of decimal places:

Number FormatSyntaxOutput
Default currency valueSELECT FORMAT(200.3639, ‘C’) AS ‘Currency Format’$200.36
Currency, 3 decimalsSELECT FORMAT(200.3639, ‘C3’) AS ‘Currency Format’$200.364
Currency, 4 decimalsSELECT FORMAT(200.3639, ‘C4’, ‘en-us’) AS ‘Currency Format’$200.3639

Custom Format Currency Options

Here are other ways to have custom SQL currency format output. In these examples we use different SQL Server functions to change the output.

Number FormatSyntaxOutput
Use REPLACE to change currency symbolSELECT REPLACE(FORMAT(200.36, ‘C’),’$’,’£’) AS ‘Currency Format’£200.36
Custom format with spacesSELECT FORMAT(200.3639,’$### . ####’) AS ‘Currency Format’;$200 . 3639
Change period to commaSELECT REPLACE(FORMAT(200.36, ‘C’, ‘en-us’),’.’,’,’) AS ‘Currency Format’$200,36

SQL FORMAT Function to Format Currency with Culture

There are hundreds of cultures already defined for SQL databases and the below output shows how the FORMAT function can be used and what the local money output looks like.

LanguageSyntaxOutput
Afrikaans – South AfricaSELECT FORMAT (200.364, ‘c’, ‘af-ZA’) as dateR200,36
Albanian – AlbaniaSELECT FORMAT (200.364, ‘c’, ‘sq-AL’) as date200 Lekë
Alsatian – FranceSELECT FORMAT (200.364, ‘c’, ‘gsw-FR’) as date200,36 €
Amharic – EthiopiaSELECT FORMAT (200.364, ‘c’, ‘am-ET’) as dateብር200.36
Arabic – AlgeriaSELECT FORMAT (200.364, ‘c’, ‘ar-DZ’) as date200.36 د.ج.‏
Arabic – BahrainSELECT FORMAT (200.364, ‘c’, ‘ar-BH’) as date200.364 د.ب.‏
Arabic – EgyptSELECT FORMAT (200.364, ‘c’, ‘ar-EG’) as date200.36 ج.م.‏
Arabic – IraqSELECT FORMAT (200.364, ‘c’, ‘ar-IQ’) as date200.36 د.ع.‏
Arabic – JordanSELECT FORMAT (200.364, ‘c’, ‘ar-JO’) as date200.364 د.ا.‏
Arabic – KuwaitSELECT FORMAT (200.364, ‘c’, ‘ar-KW’) as date200.364 د.ك.‏
Arabic – LebanonSELECT FORMAT (200.364, ‘c’, ‘ar-LB’) as date200.36 ل.ل.‏
Arabic – LibyaSELECT FORMAT (200.364, ‘c’, ‘ar-LY’) as date200.364 د.ل.‏
Arabic – MoroccoSELECT FORMAT (200.364, ‘c’, ‘ar-MA’) as date200.36 د.م.‏
Arabic – OmanSELECT FORMAT (200.364, ‘c’, ‘ar-OM’) as date200.364 ر.ع.‏
Arabic – QatarSELECT FORMAT (200.364, ‘c’, ‘ar-QA’) as date200.36 ر.ق.‏
Arabic – Saudi ArabiaSELECT FORMAT (200.364, ‘c’, ‘ar-SA’) as date200.36 ر.س.‏
Arabic – SyriaSELECT FORMAT (200.364, ‘c’, ‘ar-SY’) as date200.36 ل.س.‏
Arabic – TunisiaSELECT FORMAT (200.364, ‘c’, ‘ar-TN’) as date200.364 د.ت.‏
Arabic – U.A.E.SELECT FORMAT (200.364, ‘c’, ‘ar-AE’) as date200.36 د.إ.‏
Arabic – YemenSELECT FORMAT (200.364, ‘c’, ‘ar-YE’) as date200.36 ر.ي.‏
Armenian – ArmeniaSELECT FORMAT (200.364, ‘c’, ‘hy-AM’) as date200.36 ֏
Assamese – IndiaSELECT FORMAT (200.364, ‘c’, ‘as-IN’) as date₹ 200.36
Azerbaijani – Azerbaijan (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘az-Cyrl-AZ’) as date200,36 ₼
Azerbaijani – Azerbaijan (Latin)SELECT FORMAT (200.364, ‘c’, ‘az-Latn-AZ’) as date200,36 ₼
Bangla (Bangladesh)SELECT FORMAT (200.364, ‘c’, ‘bn-BD’) as date200.36
Bangla – India (Bengali Script)SELECT FORMAT (200.364, ‘c’, ‘bn-IN’) as date₹ 200.36
Bashkir – RussiaSELECT FORMAT (200.364, ‘c’, ‘ba-RU’) as date200,36 ₽
Basque – BasqueSELECT FORMAT (200.364, ‘c’, ‘eu-ES’) as date200,36 €
Belarusian – BelarusSELECT FORMAT (200.364, ‘c’, ‘be-BY’) as date200,36 Br
Bosnian – Bosnia and Herzegovina (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘bs-Cyrl-BA’) as date200,36 КМ
Bosnian – Bosnia and Herzegovina (Latin)SELECT FORMAT (200.364, ‘c’, ‘bs-Latn-BA’) as date200,36 KM
Breton – FranceSELECT FORMAT (200.364, ‘c’, ‘br-FR’) as date200,36 €
Bulgarian – BulgariaSELECT FORMAT (200.364, ‘c’, ‘bg-BG’) as date200,36 лв.
Burmese – MyanmarSELECT FORMAT (200.364, ‘c’, ‘my-MM’) as date200 K
Catalan – CatalanSELECT FORMAT (200.364, ‘c’, ‘ca-ES’) as date200,36 €
Central Atlas Tamazight (Latin) – AlgeriaSELECT FORMAT (200.364, ‘c’, ‘fr-FR’) as date200,36 €
Central Atlas Tamazight (Latin) – AlgeriaSELECT FORMAT (200.364, ‘c’, ‘tzm-Latn-DZ’) as date200,36 DA
Central Atlas Tamazight (Tifinagh) – MoroccoSELECT FORMAT (200.364, ‘c’, ‘tzm-Tfng-MA’) as date200,36 ⴷⵔ
Central Kurdish (Iraq)SELECT FORMAT (200.364, ‘c’, ‘ku-Arab-IQ’) as dateد.ع.‏200.36
Cherokee (Cherokee, United States)SELECT FORMAT (200.364, ‘c’, ‘chr-Cher-US’) as date$200.36
Chinese (Simplified, China)SELECT FORMAT (200.364, ‘c’, ‘zh-CN’) as date¥200.36
Chinese – (Traditional, Taiwan)SELECT FORMAT (200.364, ‘c’, ‘zh-TW’) as dateNT$200.36
Corsican – FranceSELECT FORMAT (200.364, ‘c’, ‘co-FR’) as date200,36 €
Croatian – Bosnia and HerzegovinaSELECT FORMAT (200.364, ‘c’, ‘hr-BA’) as date200,36 KM
Croatian – CroatiaSELECT FORMAT (200.364, ‘c’, ‘hr-HR’) as date200,36 kn
Czech – Czech RepublicSELECT FORMAT (200.364, ‘c’, ‘cs-CZ’) as date200,36 Kč
Danish – DenmarkSELECT FORMAT (200.364, ‘c’, ‘da-DK’) as date200,36 kr.
Dari – AfghanistanSELECT FORMAT (200.364, ‘c’, ‘prs-AF’) as date؋200.36
Divehi – MaldivesSELECT FORMAT (200.364, ‘c’, ‘dv-MV’) as date200.36 ރ.
Dutch – BelgiumSELECT FORMAT (200.364, ‘c’, ‘nl-BE’) as date€ 200,36
Dutch – NetherlandsSELECT FORMAT (200.364, ‘c’, ‘nl-NL’) as date€ 200,36
DzongkhaSELECT FORMAT (200.364, ‘c’, ‘dz-BT’) as dateNu.200.36
English – AustraliaSELECT FORMAT (200.364, ‘c’, ‘en-AU’) as date$200.36
English – BelizeSELECT FORMAT (200.364, ‘c’, ‘en-BZ’) as date$200.36
English – CanadaSELECT FORMAT (200.364, ‘c’, ‘en-CA’) as date$200.36
English – CaribbeanSELECT FORMAT (200.364, ‘c’, ‘en-029’) as dateEC$200.36
English – IndiaSELECT FORMAT (200.364, ‘c’, ‘en-IN’) as date₹ 200.36
English – IrelandSELECT FORMAT (200.364, ‘c’, ‘en-IE’) as date€200.36
English – JamaicaSELECT FORMAT (200.364, ‘c’, ‘en-JM’) as date$200.36
English – MalaysiaSELECT FORMAT (200.364, ‘c’, ‘en-MY’) as dateRM200.36
English – New ZealandSELECT FORMAT (200.364, ‘c’, ‘en-NZ’) as date$200.36
English – PhilippinesSELECT FORMAT (200.364, ‘c’, ‘en-PH’) as date₱200.36
English – SingaporeSELECT FORMAT (200.364, ‘c’, ‘en-SG’) as date$200.36
English – South AfricaSELECT FORMAT (200.364, ‘c’, ‘en-ZA’) as dateR200,36
English – TrinidadSELECT FORMAT (200.364, ‘c’, ‘en-TT’) as date$200.36
English – Great BritainSELECT FORMAT (200.364, ‘c’, ‘en-GB’) as date£200.36
English – United StatesSELECT FORMAT (200.364, ‘c’, ‘en-US’) as date$200.36
English – ZimbabweSELECT FORMAT (200.364, ‘c’, ‘en-ZW’) as dateUS$200.36
Estonian – EstoniaSELECT FORMAT (200.364, ‘c’, ‘et-EE’) as date200,36 €
Faroese – Faroe IslandsSELECT FORMAT (200.364, ‘c’, ‘fo-FO’) as date200,36 kr
Filipino – PhilippinesSELECT FORMAT (200.364, ‘c’, ‘fil-PH’) as date₱200.36
Finnish – FinlandSELECT FORMAT (200.364, ‘c’, ‘fi-FI’) as date200,36 €
French – BelgiumSELECT FORMAT (200.364, ‘c’, ‘fr-BE’) as date200,36 €
French – CanadaSELECT FORMAT (200.364, ‘c’, ‘fr-CA’) as date200,36 $
French – FranceSELECT FORMAT (200.364, ‘c’, ‘fr-FR’) as date200,36 €
French – LuxembourgSELECT FORMAT (200.364, ‘c’, ‘fr-LU’) as date200,36 €
French – MonacoSELECT FORMAT (200.364, ‘c’, ‘fr-MC’) as date200,36 €
French – SwitzerlandSELECT FORMAT (200.364, ‘c’, ‘fr-CH’) as date200.36 CHF
Frisian – NetherlandsSELECT FORMAT (200.364, ‘c’, ‘fy-NL’) as date€ 200,36
Fulah (Latin, Senegal)SELECT FORMAT (200.364, ‘c’, ‘ff-Latn-SN’) as date200,36 CFA
Galician – GalicianSELECT FORMAT (200.364, ‘c’, ‘gl-ES’) as date200,36 €
Georgian – GeorgiaSELECT FORMAT (200.364, ‘c’, ‘ka-GE’) as date200,36 ₾
German – AustriaSELECT FORMAT (200.364, ‘c’, ‘de-AT’) as date€ 200,36
German – GermanySELECT FORMAT (200.364, ‘c’, ‘de-DE’) as date200,36 €
German – LiechtensteinSELECT FORMAT (200.364, ‘c’, ‘de-LI’) as dateCHF 200.36
German – LuxembourgSELECT FORMAT (200.364, ‘c’, ‘de-LU’) as date200,36 €
German – SwitzerlandSELECT FORMAT (200.364, ‘c’, ‘de-CH’) as dateCHF 200.36
Greek – GreeceSELECT FORMAT (200.364, ‘c’, ‘el-GR’) as date200,36 €
Greenlandic – GreenlandSELECT FORMAT (200.364, ‘c’, ‘kl-GL’) as datekr.200,36
Guarani – ParaguaySELECT FORMAT (200.364, ‘c’, ‘gn-PY’) as date200 ₲
Gujarati – India (Gujarati Script)SELECT FORMAT (200.364, ‘c’, ‘gu-IN’) as date₹200.36
Hausa (Latin) – NigeriaSELECT FORMAT (200.364, ‘c’, ‘ha-Latn-NG’) as date₦ 200.36
Hawaiian – United StatesSELECT FORMAT (200.364, ‘c’, ‘haw-US’) as date$200.36
Hebrew – IsraelSELECT FORMAT (200.364, ‘c’, ‘he-IL’) as date₪ 200.36
Hindi – IndiaSELECT FORMAT (200.364, ‘c’, ‘hi-IN’) as date₹200.36
Hungarian – HungarySELECT FORMAT (200.364, ‘c’, ‘hu-HU’) as date200,36 Ft
Icelandic – IcelandSELECT FORMAT (200.364, ‘c’, ‘is-IS’) as date200 kr
Igbo – NigeriaSELECT FORMAT (200.364, ‘c’, ‘ig-NG’) as date₦200.36
Inari Sami – FinlandSELECT FORMAT (200.364, ‘c’, ‘smn-FI’) as date200,36 €
Indonesian – IndonesiaSELECT FORMAT (200.364, ‘c’, ‘id-ID’) as dateRp200,36
Inuktitut (Latin) – CanadaSELECT FORMAT (200.364, ‘c’, ‘iu-Latn-CA’) as date$200.36
Inuktitut (Syllabics) – CanadaSELECT FORMAT (200.364, ‘c’, ‘iu-Cans-CA’) as date$200.36
Irish – IrelandSELECT FORMAT (200.364, ‘c’, ‘ga-IE’) as date€200.36
isiXhosa / Xhosa – South AfricaSELECT FORMAT (200.364, ‘c’, ‘xh-ZA’) as dateR200.36
isiZulu / Zulu – South AfricaSELECT FORMAT (200.364, ‘c’, ‘zu-ZA’) as dateR200.36
Italian – ItalySELECT FORMAT (200.364, ‘c’, ‘it-IT’) as date200,36 €
Italian – SwitzerlandSELECT FORMAT (200.364, ‘c’, ‘it-CH’) as dateCHF 200.36
Japanese – JapanSELECT FORMAT (200.364, ‘c’, ‘ja-JP’) as date¥200
Javanese (Latin) – IndonesiaSELECT FORMAT (200.364, ‘c’, ‘jv-Latn-ID’) as dateRp200
Kannada – India (Kannada Script)SELECT FORMAT (200.364, ‘c’, ‘kn-IN’) as date₹200.36
Kazakh – KazakhstanSELECT FORMAT (200.364, ‘c’, ‘kk-KZ’) as date200,36 ₸
Khmer – CambodiaSELECT FORMAT (200.364, ‘c’, ‘km-KH’) as date200.36
K’iche – GuatemalaSELECT FORMAT (200.364, ‘c’, ‘qut-GT’) as dateQ200.36
Kinyarwanda – RwandaSELECT FORMAT (200.364, ‘c’, ‘rw-RW’) as dateRF 200
Konkani – IndiaSELECT FORMAT (200.364, ‘c’, ‘kok-IN’) as date₹ 200.36
Korean(Extended Wansung) – KoreaSELECT FORMAT (200.364, ‘c’, ‘ko-KR’) as date₩200
Kyrgyz – KyrgyzstanSELECT FORMAT (200.364, ‘c’, ‘ky-KG’) as date200,36 сом
Lao – Lao PDRSELECT FORMAT (200.364, ‘c’, ‘lo-LA’) as date₭200
Latvian – LegacySELECT FORMAT (200.364, ‘c’, ‘lv-LV’) as date200,36 €
Latvian – StandardSELECT FORMAT (200.364, ‘c’, ‘lv-LV’) as date200,36 €
Lithuanian – LithuaniaSELECT FORMAT (200.364, ‘c’, ‘lt-LT’) as date200,36 €
Lower Sorbian – GermanySELECT FORMAT (200.364, ‘c’, ‘dsb-DE’) as date200,36 €
Lule Sami – NorwaySELECT FORMAT (200.364, ‘c’, ‘smj-NO’) as datekr 200,36
Lule Sami – SwedenSELECT FORMAT (200.364, ‘c’, ‘smj-SE’) as date200,36 kr
Luxembourgish – LuxembourgSELECT FORMAT (200.364, ‘c’, ‘lb-LU’) as date200,36 €
Macedonian – F.Y.R.O.MSELECT FORMAT (200.364, ‘c’, ‘mk-MK’) as date200,36 ден
Malay – BruneiSELECT FORMAT (200.364, ‘c’, ‘ms-BN’) as date$ 200,36
Malay – MalaysiaSELECT FORMAT (200.364, ‘c’, ‘ms-MY’) as dateRM200.36
Malayalam – India (Malayalam Script)SELECT FORMAT (200.364, ‘c’, ‘ml-IN’) as date₹200.36
Maltese – MaltaSELECT FORMAT (200.364, ‘c’, ‘mt-MT’) as date€200.36
Maori – New ZealandSELECT FORMAT (200.364, ‘c’, ‘mi-NZ’) as date$200.36
Mapudungun – ChileSELECT FORMAT (200.364, ‘c’, ‘arn-CL’) as date$ 200,36
Marathi – IndiaSELECT FORMAT (200.364, ‘c’, ‘mr-IN’) as date₹200`36
Mohawk – MohawkSELECT FORMAT (200.364, ‘c’, ‘moh-CA’) as date$200.36
Mongolian (Cyrillic) – MongoliaSELECT FORMAT (200.364, ‘c’, ‘mn-MN’) as date₮ 200.36
Mongolian (Mongolian) – MongoliaSELECT FORMAT (200.364, ‘c’, ‘mn-Mong-MN’) as date₮200.36
Mongolian (Traditional Mongolian – China – Legacy)SELECT FORMAT (200.364, ‘c’, ‘mn-Mong-CN’) as date¥200.36
Mongolian (Traditional Mongolian – China – Standard)SELECT FORMAT (200.364, ‘c’, ‘mn-Mong-CN’) as date¥200.36
N’ko – GuineaSELECT FORMAT (200.364, ‘c’, ‘nqo-GN’) as dateߖߕ. 200.36
Nepali – Federal Democratic Republic of NepalSELECT FORMAT (200.364, ‘c’, ‘ne-NP’) as dateरु 200.36
Northern Sami – FinlandSELECT FORMAT (200.364, ‘c’, ‘se-FI’) as date200,36 €
Northern Sami – NorwaySELECT FORMAT (200.364, ‘c’, ‘se-NO’) as date200,36 kr
Northern Sami – SwedenSELECT FORMAT (200.364, ‘c’, ‘se-SE’) as date200,36 kr
Norwegian – Norway (Bokmål)SELECT FORMAT (200.364, ‘c’, ‘nb-NO’) as datekr 200,36
Norwegian – Norway (Nynorsk)SELECT FORMAT (200.364, ‘c’, ‘nn-NO’) as date200,36 kr
Occitan – FranceSELECT FORMAT (200.364, ‘c’, ‘oc-FR’) as date200,36 €
Odia – India (Odia Script)SELECT FORMAT (200.364, ‘c’, ‘or-IN’) as date₹ 200.36
Pashto – AfghanistanSELECT FORMAT (200.364, ‘c’, ‘ps-AF’) as date200 ؋
PersianSELECT FORMAT (200.364, ‘c’, ‘fa-IR’) as date200/36ريال
Polish – PolandSELECT FORMAT (200.364, ‘c’, ‘pl-PL’) as date200,36 zł
Portuguese – BrazilSELECT FORMAT (200.364, ‘c’, ‘pt-BR’) as dateR$ 200,36
Portuguese – PortugalSELECT FORMAT (200.364, ‘c’, ‘pt-PT’) as date200,36 €
Punjabi – India (Gurmukhi Script)SELECT FORMAT (200.364, ‘c’, ‘pa-IN’) as date₹ 200.36
Punjabi (Islamic Republic of Pakistan)SELECT FORMAT (200.364, ‘c’, ‘pa-Arab-PK’) as dateRs 200.36
Quechua – BoliviaSELECT FORMAT (200.364, ‘c’, ‘quz-BO’) as dateBs. 200,36
Quechua – EcuadorSELECT FORMAT (200.364, ‘c’, ‘quz-EC’) as date$ 200,36
Quechua – PeruSELECT FORMAT (200.364, ‘c’, ‘quz-PE’) as dateS/ 200.36
Romanian – RomaniaSELECT FORMAT (200.364, ‘c’, ‘ro-RO’) as date200,36 lei
Romansh – SwitzerlandSELECT FORMAT (200.364, ‘c’, ‘rm-CH’) as date200.36 CHF
Russian – RussiaSELECT FORMAT (200.364, ‘c’, ‘ru-RU’) as date200,36 ₽
Sakha – RussiaSELECT FORMAT (200.364, ‘c’, ‘sah-RU’) as date200,36 ₽
Sanskrit – IndiaSELECT FORMAT (200.364, ‘c’, ‘sa-IN’) as date₹ 200.36
Scottish Gaelic – Great BritainSELECT FORMAT (200.364, ‘c’, ‘gd-GB’) as date£200.36
Serbian – Bosnia and Herzegovina (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘sr-Cyrl-BA’) as date200,36 КМ
Serbian – Bosnia and Herzegovina (Latin)SELECT FORMAT (200.364, ‘c’, ‘sr-Latn-BA’) as date200,36 KM
Serbian – Montenegro (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘sr-Cyrl-ME’) as date200,36 €
Serbian – Montenegro (Latin)SELECT FORMAT (200.364, ‘c’, ‘sr-Latn-ME’) as date200,36 €
Serbian – Serbia (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘sr-Cyrl-RS’) as date200,36 дин.
Serbian – Serbia (Latin)SELECT FORMAT (200.364, ‘c’, ‘sr-Latn-RS’) as date200 RSD
Serbian – Serbia and Montenegro (Former) (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘sr-Cyrl-CS’) as date200,36 дин.
Serbian – Serbia and Montenegro (Former) (Latin)SELECT FORMAT (200.364, ‘c’, ‘sr-Latn-CS’) as date200,36 din.
Sesotho sa Leboa / Northern Sotho – South AfricaSELECT FORMAT (200.364, ‘c’, ‘nso-ZA’) as dateR 200.36
Setswana / Tswana – BotswanaSELECT FORMAT (200.364, ‘c’, ‘tn-BW’) as dateP200.36
Setswana / Tswana – South AfricaSELECT FORMAT (200.364, ‘c’, ‘tn-ZA’) as dateR200.36
Shona – ZimbabweSELECT FORMAT (200.364, ‘c’, ‘sn-Latn-ZW’) as date$200.36
Sindhi (Islamic Republic of Pakistan)SELECT FORMAT (200.364, ‘c’, ‘sd-Arab-PK’) as dateRs 200.36
Sinhala – Sri LankaSELECT FORMAT (200.364, ‘c’, ‘si-LK’) as dateරු.200.36
Skolt Sami – FinlandSELECT FORMAT (200.364, ‘c’, ‘sms-FI’) as date200,36 €
Slovak – SlovakiaSELECT FORMAT (200.364, ‘c’, ‘sk-SK’) as date200,36 €
Slovenian – SloveniaSELECT FORMAT (200.364, ‘c’, ‘sl-SI’) as date200,36 €
Southern Sami – NorwaySELECT FORMAT (200.364, ‘c’, ‘sma-NO’) as datekr 200,36
Southern Sami – SwedenSELECT FORMAT (200.364, ‘c’, ‘sma-SE’) as date200,36 kr
Spanish – ArgentinaSELECT FORMAT (200.364, ‘c’, ‘es-AR’) as date$ 200,36
Spanish – Bolivarian Republic of VenezuelaSELECT FORMAT (200.364, ‘c’, ‘es-VE’) as dateBs.S200,36
Spanish – BoliviaSELECT FORMAT (200.364, ‘c’, ‘es-BO’) as dateBs200,36
Spanish – ChileSELECT FORMAT (200.364, ‘c’, ‘es-CL’) as date$200
Spanish – ColombiaSELECT FORMAT (200.364, ‘c’, ‘es-CO’) as date$ 200,36
Spanish – Costa RicaSELECT FORMAT (200.364, ‘c’, ‘es-CR’) as date₡200,36
Spanish – Dominican RepublicSELECT FORMAT (200.364, ‘c’, ‘es-DO’) as date$200.36
Spanish – EcuadorSELECT FORMAT (200.364, ‘c’, ‘es-EC’) as date$200,36
Spanish – El SalvadorSELECT FORMAT (200.364, ‘c’, ‘es-SV’) as date$200.36
Spanish – GuatemalaSELECT FORMAT (200.364, ‘c’, ‘es-GT’) as dateQ200.36
Spanish – HondurasSELECT FORMAT (200.364, ‘c’, ‘es-HN’) as dateL200.36
Spanish – Latin AmericaSELECT FORMAT (200.364, ‘c’, ‘es-419’) as dateXDR200.36
Spanish – MexicoSELECT FORMAT (200.364, ‘c’, ‘es-MX’) as date$200.36
Spanish – NicaraguaSELECT FORMAT (200.364, ‘c’, ‘es-NI’) as dateC$200.36
Spanish – PanamaSELECT FORMAT (200.364, ‘c’, ‘es-PA’) as dateB/.200.36
Spanish – ParaguaySELECT FORMAT (200.364, ‘c’, ‘es-PY’) as date₲ 200
Spanish – PeruSELECT FORMAT (200.364, ‘c’, ‘es-PE’) as dateS/ 200.36
Spanish – Commonwealth of Puerto RicoSELECT FORMAT (200.364, ‘c’, ‘es-PR’) as date$200.36
Spanish – Spain (International Sort)SELECT FORMAT (200.364, ‘c’, ‘es-ES’) as date200,36 €
Spanish – Spain (Traditional Sort)SELECT FORMAT (200.364, ‘c’, ‘es-ES_tradnl’) as date200,36 €
Spanish – United StatesSELECT FORMAT (200.364, ‘c’, ‘es-US’) as date$200.36
Spanish – UruguaySELECT FORMAT (200.364, ‘c’, ‘es-UY’) as date$ 200,36
Standard Moroccan Tamazight – MoroccoSELECT FORMAT (200.364, ‘c’, ‘zgh-Tfng-MA’) as date200,36MAD
Swahili – KenyaSELECT FORMAT (200.364, ‘c’, ‘sw-KE’) as dateKsh 200.36
Swedish – FinlandSELECT FORMAT (200.364, ‘c’, ‘sv-FI’) as date200,36 €
Swedish – SwedenSELECT FORMAT (200.364, ‘c’, ‘sv-SE’) as date200,36 kr
Syriac – SyriaSELECT FORMAT (200.364, ‘c’, ‘syr-SY’) as date200.36 ܠ.ܣ.‏
Tajik – TajikistanSELECT FORMAT (200.364, ‘c’, ‘tg-Cyrl-TJ’) as date200,36 смн
Tamil – IndiaSELECT FORMAT (200.364, ‘c’, ‘ta-IN’) as date₹ 200.36
Tamil – Sri LankaSELECT FORMAT (200.364, ‘c’, ‘ta-LK’) as dateRs. 200.36
Tatar – Russia (Legacy)SELECT FORMAT (200.364, ‘c’, ‘tt-RU’) as date200,36 ₽
Tatar – Russia (Standard)SELECT FORMAT (200.364, ‘c’, ‘tt-RU’) as date200,36 ₽
Telugu – India (Telugu Script)SELECT FORMAT (200.364, ‘c’, ‘te-IN’) as date₹200.36
Thai – ThailandSELECT FORMAT (200.364, ‘c’, ‘th-TH’) as date฿200.36
Tibetan – ChinaSELECT FORMAT (200.364, ‘c’, ‘bo-CN’) as date¥200.36
Tigrinya (Eritrea)SELECT FORMAT (200.364, ‘c’, ‘ti-ET’) as dateBr200.36
Tigrinya (Ethiopia)SELECT FORMAT (200.364, ‘c’, ‘ti-ET’) as dateBr200.36
Turkish – TurkeySELECT FORMAT (200.364, ‘c’, ‘tr-TR’) as date₺200,36
Turkmen – TurkmenistanSELECT FORMAT (200.364, ‘c’, ‘tk-TM’) as date200,36m.
Ukrainian – UkraineSELECT FORMAT (200.364, ‘c’, ‘uk-UA’) as date200,36 ₴
Upper Sorbian – GermanySELECT FORMAT (200.364, ‘c’, ‘hsb-DE’) as date200,36 €
Urdu – IndiaSELECT FORMAT (200.364, ‘c’, ‘ur-IN’) as date₹200.36
Urdu (Islamic Republic of Pakistan)SELECT FORMAT (200.364, ‘c’, ‘ur-PK’) as dateRs 200.36
Uyghur – ChinaSELECT FORMAT (200.364, ‘c’, ‘ug-CN’) as date¥200.36
Uzbek – Uzbekistan (Cyrillic)SELECT FORMAT (200.364, ‘c’, ‘uz-Cyrl-UZ’) as date200,36 сўм
Uzbek – Uzbekistan (Latin)SELECT FORMAT (200.364, ‘c’, ‘uz-Latn-UZ’) as date200,36 soʻm
Valencian – ValenciaSELECT FORMAT (200.364, ‘c’, ‘ca-ES-valencia’) as date200,36 €
Vietnamese – VietnamSELECT FORMAT (200.364, ‘c’, ‘vi-VN’) as date200,36 ₫
Welsh – Great BritainSELECT FORMAT (200.364, ‘c’, ‘cy-GB’) as date£200.36
Wolof – SenegalSELECT FORMAT (200.364, ‘c’, ‘wo-SN’) as date200,36 CFA
Yi – ChinaSELECT FORMAT (200.364, ‘c’, ‘ii-CN’) as date¥200.36

Script to Recreate Currency Format List

The below script will create a temporary table to store the language and language code and then use this to display all of the currency or money formats for the given value.

CREATE TABLE #temp ([language] nvarchar(100), [langcode] nvarchar(20))
INSERT INTO #temp
VALUES('Afrikaans - South Africa','af-ZA')
,('Albanian - Albania','sq-AL')
,('Alsatian - France','gsw-FR')
,('Amharic - Ethiopia','am-ET')
,('Arabic - Algeria','ar-DZ')
,('Arabic - Bahrain','ar-BH')
,('Arabic - Egypt','ar-EG')
,('Arabic - Iraq','ar-IQ')
,('Arabic - Jordan','ar-JO')
,('Arabic - Kuwait','ar-KW')
,('Arabic - Lebanon','ar-LB')
,('Arabic - Libya','ar-LY')
,('Arabic - Morocco','ar-MA')
,('Arabic - Oman','ar-OM')
,('Arabic - Qatar','ar-QA')
,('Arabic - Saudi Arabia','ar-SA')
,('Arabic - Syria','ar-SY')
,('Arabic - Tunisia','ar-TN')
,('Arabic - U.A.E.','ar-AE')
,('Arabic - Yemen','ar-YE')
,('Armenian - Armenia','hy-AM')
,('Assamese - India','as-IN')
,('Azerbaijani - Azerbaijan (Cyrillic)','az-Cyrl-AZ')
,('Azerbaijani - Azerbaijan (Latin)','az-Latn-AZ')
,('Bangla (Bangladesh)','bn-BD')
,('Bangla - India (Bengali Script)','bn-IN')
,('Bashkir - Russia','ba-RU')
,('Basque - Basque','eu-ES')
,('Belarusian - Belarus','be-BY')
,('Bosnian - Bosnia and Herzegovina (Cyrillic)','bs-Cyrl-BA')
,('Bosnian - Bosnia and Herzegovina (Latin)','bs-Latn-BA')
,('Breton - France','br-FR')
,('Bulgarian - Bulgaria','bg-BG')
,('Burmese - Myanmar','my-MM')
,('Catalan - Catalan','ca-ES')
,('Central Atlas Tamazight (Latin) - Algeria','fr-FR')
,('Central Atlas Tamazight (Latin) - Algeria','tzm-Latn-DZ')
,('Central Atlas Tamazight (Tifinagh) - Morocco','tzm-Tfng-MA')
,('Central Kurdish (Iraq)','ku-Arab-IQ')
,('Cherokee (Cherokee, United States)','chr-Cher-US')
,('Chinese (Simplified, China)','zh-CN')
,('Chinese - (Traditional, Taiwan)','zh-TW')
,('Corsican - France','co-FR')
,('Croatian - Bosnia and Herzegovina','hr-BA')
,('Croatian - Croatia','hr-HR')
,('Czech - Czech Republic','cs-CZ')
,('Danish - Denmark','da-DK')
,('Dari - Afghanistan','prs-AF')
,('Divehi - Maldives','dv-MV')
,('Dutch - Belgium','nl-BE')
,('Dutch - Netherlands','nl-NL')
,('Dzongkha','dz-BT')
,('English - Australia','en-AU')
,('English - Belize','en-BZ')
,('English - Canada','en-CA')
,('English - Caribbean','en-029')
,('English - India','en-IN')
,('English - Ireland','en-IE')
,('English - Jamaica','en-JM')
,('English - Malaysia','en-MY')
,('English - New Zealand','en-NZ')
,('English - Philippines','en-PH')
,('English - Singapore','en-SG')
,('English - South Africa','en-ZA')
,('English - Trinidad','en-TT')
,('English - Great Britain','en-GB')
,('English - United States','en-US')
,('English - Zimbabwe','en-ZW')
,('Estonian - Estonia','et-EE')
,('Faroese - Faroe Islands','fo-FO')
,('Filipino - Philippines','fil-PH')
,('Finnish - Finland','fi-FI')
,('French - Belgium','fr-BE')
,('French - Canada','fr-CA')
,('French - France','fr-FR')
,('French - Luxembourg','fr-LU')
,('French - Monaco','fr-MC')
,('French - Switzerland','fr-CH')
,('Frisian - Netherlands','fy-NL')
,('Fulah (Latin, Senegal)','ff-Latn-SN')
,('Galician - Galician','gl-ES')
,('Georgian - Georgia','ka-GE')
,('German - Austria','de-AT')
,('German - Germany','de-DE')
,('German - Liechtenstein','de-LI')
,('German - Luxembourg','de-LU')
,('German - Switzerland','de-CH')
,('Greek - Greece','el-GR')
,('Greenlandic - Greenland','kl-GL')
,('Guarani - Paraguay','gn-PY')
,('Gujarati - India (Gujarati Script)','gu-IN')
,('Hausa (Latin) - Nigeria','ha-Latn-NG')
,('Hawaiian - United States','haw-US')
,('Hebrew - Israel','he-IL')
,('Hindi - India','hi-IN')
,('Hungarian - Hungary','hu-HU')
,('Icelandic - Iceland','is-IS')
,('Igbo - Nigeria','ig-NG')
,('Inari Sami - Finland','smn-FI')
,('Indonesian - Indonesia','id-ID')
,('Inuktitut (Latin) - Canada','iu-Latn-CA')
,('Inuktitut (Syllabics) - Canada','iu-Cans-CA')
,('Irish - Ireland','ga-IE')
,('isiXhosa / Xhosa - South Africa','xh-ZA')
,('isiZulu / Zulu - South Africa','zu-ZA')
,('Italian - Italy','it-IT')
,('Italian - Switzerland','it-CH')
,('Japanese - Japan','ja-JP')
,('Javanese (Latin) - Indonesia','jv-Latn-ID')
,('Kannada - India (Kannada Script)','kn-IN')
,('Kazakh - Kazakhstan','kk-KZ')
,('Khmer - Cambodia','km-KH')
,('Kiche - Guatemala','qut-GT')
,('Kinyarwanda - Rwanda','rw-RW')
,('Konkani - India','kok-IN')
,('Korean(Extended Wansung) - Korea','ko-KR')
,('Kyrgyz - Kyrgyzstan','ky-KG')
,('Lao - Lao PDR','lo-LA')
,('Latvian - Legacy','lv-LV')
,('Latvian - Standard','lv-LV')
,('Lithuanian - Lithuania','lt-LT')
,('Lower Sorbian - Germany','dsb-DE')
,('Lule Sami - Norway','smj-NO')
,('Lule Sami - Sweden','smj-SE')
,('Luxembourgish - Luxembourg','lb-LU')
,('Macedonian - F.Y.R.O.M','mk-MK')
,('Malay - Brunei','ms-BN')
,('Malay - Malaysia','ms-MY')
,('Malayalam - India (Malayalam Script)','ml-IN')
,('Maltese - Malta','mt-MT')
,('Maori - New Zealand','mi-NZ')
,('Mapudungun - Chile','arn-CL')
,('Marathi - India','mr-IN')
,('Mohawk - Mohawk','moh-CA')
,('Mongolian (Cyrillic) - Mongolia','mn-MN')
,('Mongolian (Mongolian) - Mongolia','mn-Mong-MN')
,('Mongolian (Traditional Mongolian - China - Legacy)','mn-Mong-CN')
,('Mongolian (Traditional Mongolian - China - Standard)','mn-Mong-CN')
,('Nko - Guinea','nqo-GN')
,('Nepali - Federal Democratic Republic of Nepal','ne-NP')
,('Northern Sami - Finland','se-FI')
,('Northern Sami - Norway','se-NO')
,('Northern Sami - Sweden','se-SE')
,('Norwegian - Norway (Bokmål)','nb-NO')
,('Norwegian - Norway (Nynorsk)','nn-NO')
,('Occitan - France','oc-FR')
,('Odia - India (Odia Script)','or-IN')
,('Pashto - Afghanistan','ps-AF')
,('Persian','fa-IR')
,('Polish - Poland','pl-PL')
,('Portuguese - Brazil','pt-BR')
,('Portuguese - Portugal','pt-PT')
,('Punjabi - India (Gurmukhi Script)','pa-IN')
,('Punjabi (Islamic Republic of Pakistan)','pa-Arab-PK')
,('Quechua - Bolivia','quz-BO')
,('Quechua - Ecuador','quz-EC')
,('Quechua - Peru','quz-PE')
,('Romanian - Romania','ro-RO')
,('Romansh - Switzerland','rm-CH')
,('Russian - Russia','ru-RU')
,('Sakha - Russia','sah-RU')
,('Sanskrit - India','sa-IN')
,('Scottish Gaelic - Great Britain','gd-GB')
,('Serbian - Bosnia and Herzegovina (Cyrillic)','sr-Cyrl-BA')
,('Serbian - Bosnia and Herzegovina (Latin)','sr-Latn-BA')
,('Serbian - Montenegro (Cyrillic)','sr-Cyrl-ME')
,('Serbian - Montenegro (Latin)','sr-Latn-ME')
,('Serbian - Serbia (Cyrillic)','sr-Cyrl-RS')
,('Serbian - Serbia (Latin)','sr-Latn-RS')
,('Serbian - Serbia and Montenegro (Former) (Cyrillic)','sr-Cyrl-CS')
,('Serbian - Serbia and Montenegro (Former) (Latin)','sr-Latn-CS')
,('Sesotho sa Leboa / Northern Sotho - South Africa','nso-ZA')
,('Setswana / Tswana - Botswana','tn-BW')
,('Setswana / Tswana - South Africa','tn-ZA')
,('Shona - Zimbabwe','sn-Latn-ZW')
,('Sindhi (Islamic Republic of Pakistan)','sd-Arab-PK')
,('Sinhala - Sri Lanka','si-LK')
,('Skolt Sami - Finland','sms-FI')
,('Slovak - Slovakia','sk-SK')
,('Slovenian - Slovenia','sl-SI')
,('Southern Sami - Norway','sma-NO')
,('Southern Sami - Sweden','sma-SE')
,('Spanish - Argentina','es-AR')
,('Spanish - Bolivarian Republic of Venezuela','es-VE')
,('Spanish - Bolivia','es-BO')
,('Spanish - Chile','es-CL')
,('Spanish - Colombia','es-CO')
,('Spanish - Costa Rica','es-CR')
,('Spanish - Dominican Republic','es-DO')
,('Spanish - Ecuador','es-EC')
,('Spanish - El Salvador','es-SV')
,('Spanish - Guatemala','es-GT')
,('Spanish - Honduras','es-HN')
,('Spanish - Latin America','es-419')
,('Spanish - Mexico','es-MX')
,('Spanish - Nicaragua','es-NI')
,('Spanish - Panama','es-PA')
,('Spanish - Paraguay','es-PY')
,('Spanish - Peru','es-PE')
,('Spanish - Commonwealth of Puerto Rico','es-PR')
,('Spanish - Spain (International Sort)','es-ES')
,('Spanish - Spain (Traditional Sort)','es-ES_tradnl')
,('Spanish - United States','es-US')
,('Spanish - Uruguay','es-UY')
,('Standard Moroccan Tamazight - Morocco','zgh-Tfng-MA')
,('Swahili - Kenya','sw-KE')
,('Swedish - Finland','sv-FI')
,('Swedish - Sweden','sv-SE')
,('Syriac - Syria','syr-SY')
,('Tajik - Tajikistan','tg-Cyrl-TJ')
,('Tamil - India','ta-IN')
,('Tamil - Sri Lanka','ta-LK')
,('Tatar - Russia (Legacy)','tt-RU')
,('Tatar - Russia (Standard)','tt-RU')
,('Telugu - India (Telugu Script)','te-IN')
,('Thai - Thailand','th-TH')
,('Tibetan - China','bo-CN')
,('Tigrinya (Eritrea)','ti-ET')
,('Tigrinya (Ethiopia)','ti-ET')
,('Turkish - Turkey','tr-TR')
,('Turkmen - Turkmenistan','tk-TM')
,('Ukrainian - Ukraine','uk-UA')
,('Upper Sorbian - Germany','hsb-DE')
,('Urdu - India','ur-IN')
,('Urdu (Islamic Republic of Pakistan)','ur-PK')
,('Uyghur - China','ug-CN')
,('Uzbek - Uzbekistan (Cyrillic)','uz-Cyrl-UZ')
,('Uzbek - Uzbekistan (Latin)','uz-Latn-UZ')
,('Valencian - Valencia','ca-ES-valencia')
,('Vietnamese - Vietnam','vi-VN')
,('Welsh - Great Britain','cy-GB')
,('Wolof - Senegal','wo-SN')
,('Yi - China','ii-CN')
 
DECLARE @currencyValue decimal = 200.364
SELECT [language], FORMAT (@currencyValue, 'c', [langcode]) as FormattedDate 
FROM #temp

Conclusion

In this article, we saw different examples of functions used to change the output for different currency formats in an MS SQL database.

Note: The FORMAT function uses Common Language Runtime (CLR) and there have been noticeable performance differences between other approaches (CONVERT Function, CAST Function, etc.) showing that FORMAT is much slower.

Next Steps

For more information refer to the following links:

2 Comments

  1. It would probably be clearer if you chose “AS Value” at the end of the examples instead of “AS date”

  2. Good article, Daniel. Do you have a link for the MS Documentation for this type of thing? The documentation included in the SQL Server documentation is sorely wanting.

Leave a Reply

Your email address will not be published. Required fields are marked *