阿甘烤羊肉串 发表于 2023-9-14 12:05:46

SQL选择用字符串代替整数

目标用数字表示char值替换SQL查询中返回的整数值。
标记为端口的表属性定义为1-4之间的整数。1 =篮球,2 =曲棍球,等等。下面是数据库表,然后是所需的输出。
数据库表:
Player   Team   Sport--------------------------Bob      Blue   1Roy      Red   3Sarah      Pink   4所需输出:
Player   Team   Sport------------------------------Bob      Blue   BasketballRoy      Red      SoccerSarah      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但这当然不是最好的练习。
页: [1]
查看完整版本: SQL选择用字符串代替整数