作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 MySQL
数据库表,其中包含一个名为 Country
的列。有时是完整的 CNT
名称,有时是 ISO 3
或 ISO 2
。 CNT 代码取决于用于该表的源文件。国家/地区名称始终以大写形式书写(CANADA、POLAND 等)。
我需要在查询中添加一些语句,将国家 name
或国家 ISO 3
代码转换为 ISO 2
CNT 代码-(CA、PL 等)。
我尝试使用一个简单的解决方案:
从 tb_name 中选择 left (Country, 2)
这并非对所有国家/地区都有用。如果我只取 'POLAND' 的前两个左边字母,那么我将得到 'PO' 而不是 'PL'。 p>
我将非常感谢您的任何建议。
最佳答案
由于列中的名称不一致,我建议使用如下所示的查找表:
countries
country_name | country_code
POLAND | PL
POL | PL
CANADA | CA
country_name
可以是主键(您可以添加更多显示在其他表中的名称)并且 country_code
可以是 ISO 国家/地区代码。
完成此操作后,您可以在查询中使用 JOIN
以始终从此表中获取 country_code
。
关于mysql - 如何在 MySQL 中将 2 位 CNT 代码或完整的 CNT 名称转换为 3 位 CNT 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42721912/
我是一名优秀的程序员,十分优秀!