如何从选择查询中的数字中获取文本

时间:2016-02-09 18:42:57

标签: c# mysql

我有MYSQL DB,并且它有一个ID INT,但是这个标识符在系统中有意义,我想获得意义而不是数字,例如像这样的东西。

select ID from payments;
if(ID==0)
returns "No payment made"
else if(ID==1)
returns "Payment made accordingly"

有可能吗?或者我应该以编程方式进行吗?在系统?, 我在C#中使用datagridview,这就是为什么我想将结果作为文本而不是查询中的数字

4 个答案:

答案 0 :(得分:2)

您可以使用CASE - WHENIF流量控制运算符。

尝试以下SQL

select case ID when 0 then 'No payment made' when 1 then 'Payment made accordingly' end as ID
from payments

答案 1 :(得分:1)

尝试:

alert('hi');
chrome.runtime.onMessage.addListener(function (message, sender, sendResponse) {
    console.log(message.name);
});

答案 2 :(得分:1)

最佳做法是

  1. 要么在支付表中有可能的id值的查找表,描述每个id值的含义,并通过连接获取此描述:
  2. select p.id, pd.description from payments p inner join paym_description pd on p.id=p.payment_id

    1. 或者在客户端应用程序的资源文件中提供这些描述,客户端应用程序可以在其中查找值本身的含义。
    2. 原因是,如果您需要更改说明或添加新说明,则需要编辑代码,如果在代码中包含说明,则需要编辑配置表或资源文件。更不用说,如果你有一个大的列表,这将是一个长期的案例陈述。

答案 3 :(得分:1)

您也可以像

一样使用查询
Select IF(ID=0,"No payment made","Payment made accordingly") as ID From payments;