2016-05-28 13 views
0

我试图从我的数据库中获取数据。我对此没有任何问题,SELECT语句正常工作,但我想在结果之前选择带有符号或文本的记录。带符号或文本的SQL SELECT语句

当我运行代码:

SELECT price 
FROM products 
WHERE id = "1" 

生病得到5.00。但在这种情况下,我想在价格之前用“€”符号来选择它。我发现在这个网站上的某些脚本,他们使用的是下面的代码:

SELECT "€ " + price as 'price' 
FROM products 
WHERE id="1" 

当我运行此我得到了相同的结果的第一个代码。所以我的问题是:如何在结果之前(或之后)使用符号或文本从数据库中选择price

+1

什么是你的关系型数据库? –

+0

不同的RDBM有不同的连接字符串的方式 –

+0

我正在使用mysql – John

回答

1

既然你指定什么是你的RDBMS你的答案是:

SELECT CONCAT('€ ', price) as price 
    FROM products 
WHERE id=1 

不要使用双引号来用字符串,双引号的SQL是命名之类的东西作为别名列,你什么时候只用它想用字符命名的字段,数据库不会允许它像"Column name with spaces"

此外,ID大概是多少,因此没有必要使用引号,因为它会隐式转换,这将使您的查询慢暗示。

+0

Jorge,如果ID的价格为空, '。如何编写此代码,以便在出现结果时仅显示货币(或文本) – John

+0

如果'id = 1'没有价格,我不想显示'€' – John

+0

您可以使用'CASE '声明,它会是这样的:'CASE价格不是NULL那么CONCAT('€',价格)ELSE''END as price' –