2012-09-24 55 views
1
select concat(Sno,Table) as STB from levels 

上面的查询会给出错误,如果按原样运行。说我的水平已经valuse作为concat列包括保留字

Sno Table 
1  Sale 
2  Stock 

我需要的,因为它成为只是一个字符串给他们取为

STB 
--- 
1Sale 
2Stock 

什么可以解other than changing the column name因为把引号的字'Table'周围给出了错误的输出

+0

非常感谢您的答复,并特别感谢@Tenner。我接受了另一个解决方案,因为第一次来,低回购也是一个因素,希望Tenner不会介意,因为也有先到先得的原因:) – Sami

回答

1

试着用`:

SELECT CONCAT(Sno,`Table`) AS STB FROM levels 
+0

希望你已经阅读了我的最后一句话'因为在'Table'这个词上加上引号给出了错误的输出,因为它变成了一个字符串' – Sami

+0

我很抱歉,这是一个非常愚蠢的问题。不知道为什么我错过了我通常使用的而不是引号的反拨。但是,现在我了解其中的差异,并且非常愚蠢,因为我被告知它们是相同的,我从来没有试过寻找差异。非常感谢 – Sami

+0

哈哈没问题,这是一个常见的错误,但停止使用保留字。 ;) –

2

对保留字使用反引号。

select concat(Sno, `Table`) as STB from levels 

尽管在一般情况下,如果你能避免使用保留字数据库,表,或列在未来的名字,这是一个好主意。而不是'像这样

+0

希望你读了我的最后一句话'因为把引号放在字'表'给出了错误的输出,因为它变成了一个字符串' – Sami

+0

这不是一个报价,这是一个反效果。如果您使用的是美式键盘,则在波浪号字符(〜)下方,可能位于左上角的1​​键旁边。 – Tenner

+0

我很抱歉,这是一个非常愚蠢的问题。不知道为什么我错过了我通常使用的而不是引号的反拨。但是,现在我了解其中的差异,并且非常愚蠢,因为我被告知它们是相同的,我从来没有试过寻找差异。非常感谢 – Sami

2
select concat(Sno,`Table`) as STB 
from levels 
+0

希望你已经读了我的最后一句话'因为把单词'表'的引号给出了错误的输出,因为它变成了一个字符串' – Sami

+0

我很抱歉,这是一个非常愚蠢的问题。不知道为什么我错过了我通常使用的而不是引号的反拨。但是,现在我了解其中的差异,并且非常愚蠢,因为我被告知它们是相同的,我从来没有试过寻找差异。非常感谢 – Sami