MySQL语句 MySQL SHOW DATABASES 显示数据库MySQL SHOW SCHEMAS 显示数据库语句MySQL CREATE DATABASE 创建数据库语句MySQL CREATE SCHEMA 创建数据库语句MySQL SHOW CREATE DATABASE 显示创建数据库的语句MySQL SHOW CREATE SCHEMA 显示创建数据库的语句MySQL ALTER DATABASE 修改数据库语句MySQL ALTER SCHEMA 修改数据库语句MySQL DROP DATABASE删除数据库MySQL DROP SCHEMA 删除数据库MySQL USE 选择数据库语句MySQL CREATE TEMPORARY TABLE 创建临时表语句 MySQL CREATE TABLE 创建数据表语句MySQL DROP TEMPORARY TABLE 删除临时表语句MySQL DROP TABLE 删除数据表语句MySQL SELECT 查询语句MySQL INSERT INTO 增加数据语句MySQL UPDATE 更新语句MySQL ALTER TABLE 修改数据表语句MySQL SHOW TABLES 显示数据表语句MySQL DESCRIBE/DESC 查看数据表语句MySQL SHOW CREATE TABLE 显示创建表语句MySQL DELETE 删除表数据语句MySQL WHERE 条件语句MySQL TRUNCATE 清空表语句MySQL LIKE 模糊匹配语句MySQL NOT LIKE 模式匹配外语句MySQL DISTINCT 去重语句MySQL AS 别名语句MySQL INSERT IGNORE INTO 忽略重复数据插入语句MySQL GROUP BY 分组语句MySQL HAVING 包含语句MySQL LIMIT限制查询数量 语句MySQL ORDER BY 排序语句MySQL BETWEEN AND 筛选范围内数据语句MySQL NOT BETWEEN AND 筛选不在范围数据语句MySQL IS NULL 查询是否为NULL值语句MySQL IS NOT NULL 查询不为NULL值语句MySQL IN 查询某个范围内的数据语句MySQL NOT IN 查询某个不在范围内的数据语句MySQL SELECTI...INTO OUTFILE将查询结果输出到外部文件语句MySQL LOAD DATA大量数据快速导入数据库语句MySQL UNION 合并两个或多个SELECT语句MySQL数据类型 MySQL tinyint、smallint、mediumint、int、bigint整数数据类型(精确值)MySQL decimal、numeric、double、float、real小数数据类型(精确、近似值)MySQL date、time、year、timestamp、datetime日期时间数据类型MySQL char、varchar、text、enum、set字符串类型MySQL bit、binary、varbinary、tinyblob、blob、mediumblob、longblob二进制数据类型MySQL空间数据类型MySQL函数 MySQL COUNT 统计函数MySQL ANY_VALUE函数 禁止 ONLY_FULL_GROUP_BY 值拒绝MySQL CASE 多分支函数MySQL LENGTH 返回字节数函数MySQL CHARACTER_LENGTH 返回字符数函数MySQL CHAR_LENGTH 返回字符数函数MySQL SUBSTRING提取字符串函数MySQL CONCAT 合拼字符串函数MySQL INSERT替换字符串函数MySQL LOWER 字符串转为小写 函数MySQL UPPER 字符串转为大写 函数MySQL LEFT 提取左侧字符 函数MySQL RIGHT 提取右侧字符 函数MySQL TRIM 删除头尾空格或指定字符 函数MySQL REPLACE 替换字符串函数MySQL REVERSE 字符串反转函数MySQL ABS求绝对值函数MySQL FIND_IN_SET 查逗号分隔特定值函数 MySQL ASCII最左边字符的数字值函数MySQL BIN将整数值转二进制字符串函数MySQL BIT_LENGTH返二进制字符串长度函数MySQL CONCAT_WS用分隔符连接字符串函数MySQL INTERVAL 返N值在区间段索引位置 函数MySQL ELT 指定位置提取子字符串函数MySQL IFNULL 处理NULL值函数MySQL EXPORT_SET二进制位生成拼接字符串函数MySQL FIELD 包含特定值的位置函数MySQL FORMAT 返回带有格式的数字函数MySQL TO_BASE64 字符串转base-64编码函数MySQL FROM_BASE64 将base-64编码解码函数MySQL AES_ENCRYPT 使用密钥进行加密函数MySQL AES_DECRYPT使用密钥解密函数MySQL HEX字符串转十六进制函数MySQL UNHEX 十六进制字符串转二进制数据函数MySQL INSTR 返回子字符串第一次出现的索引函数MySQL REGEXP 正则表达式函数MySQL NOT REGEXP不匹配正则表达式函数MySQL LCASE用于转换字符串为小写函数MySQL LOAD_FILE 加载文件到数据库函数MySQL LOCATE 搜索字符串第一次出现的位置函数MySQL LPAD左侧添加指定长度字符函数MySQL LTRIM删除字符串左侧空格的函数MySQL MAKE_SET 创建集合函数

MySQL FORMAT 返回带有格式的数字函数

在现实世界中,当你必须用数字写十万时,你把它写成 100,000 而不是 100000。您可以通过添加逗号来使用某种形式的格式,以使数字更具可读性。到目前为止,您一定已经观察到,当您在MySQL中输出数值时,它不会返回带有格式的数字。为了在 MySQL 中格式化您的数字输出,我们使用该函数FORMAT()。

MySQL以“#,###.##”格式化一个数字,并将其四舍五入到用户指定的一定数量的小数位。结果以字符串形式返回。FORMAT()

FORMAT()的语法

FORMAT(number, decimal_places, locale);

哪里

'number' 是要格式化的数字,

'decimal_places'是格式化数字中所需的小数位数,

'locale'是一个可选参数,用于确定千位分隔符和分隔符之间的分组。如果没有提及,MySQL将默认使用“en_US”。

MySQL FORMAT()示例

让我们看一个基本的例子。我有以下号码——15023.2265。乍一看很难看,对吧?让我们使用函数对其进行格式化。生成的数字应该只有两位小数。对它的查询是,FORMAT()

mysql> SELECT FORMAT(15023.2265, 2);
+-----------------------+
| FORMAT(15023.2265, 2) |
+-----------------------+
| 15,023.23             |
+-----------------------+

正如你所看到的,我们得到了一个格式化的数字。您还可以看到,将 .2265 四舍五入到 .23 以显示最多两个小数位的数字。FORMAT()

小数点后零位的 MySQL FORMAT()

假设您不想在格式化的数字中看到小数位。可以做些什么?好吧,“decimal_places”参数应该设置为 0。对它的查询是,

mysql> SELECT FORMAT(15023.2265, 0);
+-----------------------+
| FORMAT(15023.2265, 0) |
+-----------------------+
| 15,023                |
+-----------------------+

MySQL FORMAT() 添加比原始数字更多的小数位

请考虑以下数字 – 230451623.2。假设您希望对数字进行格式化,并且生成的数字应显示 4 位小数。等等,但是我们在数字中只有一个小数位,那么,如何处理呢?让我们看看下面的例子。

mysql> SELECT FORMAT(230451623.2, 4);
+------------------------+
| FORMAT(230451623.2, 4) |
+------------------------+
| 230,451,623.2000       |
+------------------------+

FORMAT()将在 .2 之后添加三个零,使其小数点后 4 位。我们可以在下面的输出中看到这一点:

设置更多小数位的格式

带有 locale 参数的 MySQL FORMAT()

到目前为止,我们显示的是未指定“locale”参数的格式化数字。在上述所有示例中,MySQL假定“locale”的默认值为“en_US”。因此,对于美国人来说,230,451,623.2 很容易读懂,但对于德国人或印度人来说,情况并非如此,因为在数千人之间遵循不同的分隔符符号。让我们显示 230451623.2,其中包含遵循德语分隔符表示法的区域设置。

mysql> SELECT FORMAT(230451623.2, 1, 'de_DE');
+---------------------------------+
| FORMAT(230451623.2, 1, 'de_DE') |
+---------------------------------+
| 230.451.623,2                   |
+---------------------------------+

格式: 德语“de_DE”参数代表区域设置“German-Germany”。您可以在文章最后查看更多区域设置值。


现在,让我们显示与印度语言环境相同的数字。我们将使用值“en-IN”,意思是“英语-印度”。查询是,

mysql> SELECT FORMAT(230451623.2, 1, 'en_IN');
+---------------------------------+
| FORMAT(230451623.2, 1, 'en_IN') |
+---------------------------------+
| 23,04,51,623.2                  |
+---------------------------------+

格式: 印度语

案例

获取案例新建表格和插入数据语句

这是详细信息得内容。

-- ----------------------------
-- Table structure for employees
-- ----------------------------
DROP TABLE IF EXISTS `employees`;
CREATE TABLE `employees` (
  `employee_id` int(11) DEFAULT NULL,
  `name` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
  `salary` decimal(8,2) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

-- ----------------------------
-- Records of employees
-- ----------------------------
INSERT INTO `employees` VALUES ('1', 'John', '5000');
INSERT INTO `employees` VALUES ('2', 'Sarah', '4500');
INSERT INTO `employees` VALUES ('3', 'David', '4000');
INSERT INTO `employees` VALUES ('4', 'David', '4600');
INSERT INTO `employees` VALUES ('5', 'Emily', '4800');
INSERT INTO `employees` VALUES ('6', 'James', '5500');


原始数据:

mysql> select * from employees;
+-------------+-------+---------+
| employee_id | name  | salary  |
+-------------+-------+---------+
|           1 | John  | 5000.00 |
|           2 | Sarah | 4500.00 |
|           3 | David | 4000.00 |
|           4 | David | 4600.00 |
|           5 | Emily | 4800.00 |
|           6 | James | 5500.00 |
+-------------+-------+---------+

让我们使用 Salary 列的值的格式,使其更具可读性。使用 ,我们还将显示 Salary 值,最多显示一位小数。当我们使用它时,让我们添加更多格式。在每个工资值之前加上美元符号怎么样?为此,我们将使用 SELECT 语句别名CONCAT 函数

mysql> SELECT *, CONCAT('$ ',FORMAT(Salary, 1)) AS Salary1 FROM employees;
+-------------+-------+---------+------------+
| employee_id | name  | salary  | Salary1    |
+-------------+-------+---------+------------+
|           1 | John  | 5000.00 | $ 5,000.0 |
|           2 | Sarah | 4500.00 | $ 4,500.0 |
|           3 | David | 4000.00 | $ 4,000.0 |
|           4 | David | 4600.00 | $ 4,600.0 |
|           5 | Emily | 4800.00 | $ 4,800.0 |
|           6 | James | 5500.00 | $ 5,500.0 |
+-------------+-------+---------+------------+


区域设置
区域设置值Meaning
ar_AEArabic - United Arab Emirates
ar_BHArabic - Bahrain
ar_DZArabic - Algeria
ar_EGArabic - Egypt
ar_INArabic - India
ar_IQArabic - Iraq
ar_JOArabic - Jordan
ar_KWArabic - Kuwait
ar_LBArabic - Lebanon
ar_LYArabic - Libya
ar_MAArabic - Morocco
ar_OMArabic - Oman
ar_QAArabic - Qatar
ar_SAArabic - Saudi Arabia
ar_SDArabic - Sudan
ar_SYArabic - Syria
ar_TNArabic - Tunisia
ar_YEArabic - Yemen
be_BYBelarusian - Belarus
bg_BGBulgarian - Bulgaria
ca_ESCatalan - Spain
cs_CZCzech - Czech Republic
da_DKDanish - Denmark
de_ATGerman - Austria
de_BEGerman - Belgium
de_CHGerman - Switzerland
de_DEGerman - Germany
de_LUGerman - Luxembourg
el_GRGreek - Greece
en_AUEnglish - Australia
en_CAEnglish - Canada
en_GBEnglish - United Kingdom
en_INEnglish - India
en_NZEnglish - New Zealand
en_PHEnglish - Philippines
en_USEnglish - United States
en_ZAEnglish - South Africa
en_ZWEnglish - Zimbabwe
es_ARSpanish - Argentina
es_BOSpanish - Bolivia
es_CLSpanish - Chile
es_COSpanish - Colombia
es_CRSpanish - Costa Rica
es_DOSpanish - Dominican Republic
es_ECSpanish - Ecuador
es_ESSpanish - Spain
es_GTSpanish - Guatemala
es_HNSpanish - Honduras
es_MXSpanish - Mexico
es_NISpanish - Nicaragua
es_PASpanish - Panama
es_PESpanish - Peru
es_PRSpanish - Puerto Rico
es_PYSpanish - Paraguay
es_SVSpanish - El Salvador
es_USSpanish - United States
es_UYSpanish - Uruguay
es_VESpanish - Venezuela
et_EEEstonian - Estonia
eu_ESBasque - Spain
fi_FIFinnish - Finland
fo_FOFaroese - Faroe Islands
fr_BEFrench - Belgium
fr_CAFrench - Canada
fr_CHFrench - Switzerland
fr_FRFrench - France
fr_LUFrench - Luxembourg
gl_ESGalician - Spain
gu_INGujarati - India
he_ILHebrew - Israel
hi_INHindi - India
hr_HRCroatian - Croatia
hu_HUHungarian - Hungary
id_IDIndonesian - Indonesia
is_ISIcelandic - Iceland
it_CHItalian - Switzerland
it_ITItalian - Italy
ja_JPJapanese - Japan
ko_KRKorean - Republic of Korea
lt_LTLithuanian - Lithuania
lv_LVLatvian - Latvia
mk_MKMacedonian - North Macedonia
mn_MNMongolia - Mongolian
ms_MYMalay - Malaysia
nb_NONorwegian(Bokmål) - Norway
nl_BEDutch - Belgium
nl_NLDutch - The Netherlands
no_NONorwegian - Norway
pl_PLPolish - Poland
pt_BRPortugese - Brazil
pt_PTPortugese - Portugal
rm_CHRomansh - Switzerland
ro_RORomanian - Romania
ru_RURussian - Russia
ru_UARussian - Ukraine
sk_SKSlovak - Slovakia
sl_SISlovenian - Slovenia
sq_ALAlbanian - Albania
sr_RSSerbian - Serbia
sv_FISwedish - Finland
sv_SESwedish - Sweden
ta_INTamil - India
te_INTelugu - India
th_THThai - Thailand
tr_TRTurkish - Turkey
uk_UAUkrainian - Ukraine
ur_PKUrdu - Pakistan
vi_VNVietnamese - Vietnam
zh_CNChinese - China
zh_HKChinese - Hong Kong
zh_TWChinese - Taiwan