当前位置: 首页 > 面试题库 >

SQL选择用字符串替换整数

萧晔
2023-03-14
问题内容

目标是用数字表示的char值替换SQL查询中返回的整数值。例如:

标记为“端口”的表属性定义为1-4之间的整数。1 =篮球,2 =曲棍球,等等。下面是数据库表,然后是所需的输出。

数据库表:

Player     Team     Sport
--------------------------
Bob        Blue     1
Roy        Red      3
Sarah      Pink     4

所需的输出:

Player     Team     Sport
------------------------------
Bob        Blue     Basketball
Roy        Red      Soccer
Sarah      Pink     Kickball

将这些整数值转换为String值的最佳实践是什么?在传递给程序之前使用SQL转换值?使用脚本语言来更改程序中的值?更改数据库设计?


问题答案:

数据库应该保存这些值,并且您应该执行连接到另一个包含该数据的表的操作。

所以你应该有一张桌子,上面写着一个人的名单

ID Name FavSport
1 Alex 4
2 Gnats 2

然后是另一个表,上面列出了运动项目

ID Sport
1 Basketball
2 Football
3 Soccer
4 Kickball

然后,您将在这些表之间进行联接

select people.name, sports.sport 
from people, sports 
where people.favsport = sports.ID

这会给你回来

Name Sport
Alex Kickball
Gnat Football

您也可以使用案例声明。只是从上方使用人表,您可以编写如下内容

select name, 
       case 
         when favsport = 1 then 'Basketball' 
         when favsport = 2 then 'Football' 
         when favsport = 3 then 'Soccer' 
         else 'Kickball' 
       end as "Sport" 
from people

但这当然不是最佳实践。



 类似资料:
  • 问题内容: 我有一个表格,其中一列中有许多行带有错误的符号(’锟 ‘)。 下面的TSQL脚本不起作用。 有问题的列的数据类型为nvarchar(230),并允许空条目。 数据来自通过Visual Studio Windows应用程序从Excel和d转换的csv文件。数据最初是’…’,但我认为word / excel可能会将其归类为一个字符(而不是3个单独的’。’)。当我的应用程序从CSV文件中读取

  • 问题内容: 我有一个非常大的数据集,想用数字替换字符串。我想对数据集进行操作,而无需为数据集中的每个键(列)键入映射函数。(类似于fillna方法,但用关联值替换特定的字符串)。反正有这样做吗? 这是我的数据集的一个例子 预期结果: 非常差= 1,差= 2,差= 3,好= 4,非常好= 5 //乔纳斯 问题答案: 使用替换

  • 问题内容: 我有一个以字符串形式传递的句子,我正在对单词“ and”进行替换,我想用“”替换它。而且它不是用空格替换“和”一词。以下是我的逻辑示例。而当我调试此逻辑时,逻辑确实落入了句子。 这里有我想念的东西吗? 问题答案: 而当我调试此逻辑时,逻辑确实落入了句子。 是的,然后你放弃返回值。 Java中的字符串是不可变的-当你调用时,它不会更改现有字符串的内容-它会返回经过修改的新字符串。所以你要

  • 我有一个作为字符串传入的句子,我正在对单词“and”进行替换,我想用“”替换它。它并没有用空白代替“和”。下面是我的逻辑示例。当我调试这个的时候,逻辑就落在句子里了。代替 这里有我遗漏的东西吗。

  • 问题内容: 我有一列包含网址(ID,网址)的列: 我想将“更新”一词更改为“新闻”。是否可以使用脚本执行此操作? 问题答案: 现在的行就像 将会 http://www.electrictoolbox.com/mysql-find-replace- text/

  • 问题 你需要用另一个值替换字符串的一部分。 解决方案 使用 JavaScript 的 replace 方法。它与给定字符串匹配,并返回已编辑的字符串。 第一个版本需要 2 个参数:模式和字符串替换 "JavaScript is my favorite!".replace /Java/, "Coffee" # => 'CoffeeScript is my favorite!' "foo bar b