2014-02-18 3 views
0

Естественно, логическое значение представляет собой логический тип данных (или bool, tinyint или любой другой подобный тип, который предпочитает использовать текущий язык программы). Но какой тип данных является столбцом «boolean» в этом следующем mysql-фрагменте?Является ли значение аргумента mysql типа данных tinyint или varchar?

SELECT 
CASE WHEN reputation >= '9' 
     THEN 'true' 
     ELSE 'false' 
     END AS boolean 
    FROM profiles WHERE custid = '1' 

Это tinyint или varchar?

ответ

2

Термин boolean здесь на самом деле столбец псевдоним, а не вводить новые данные, которые вы еще не видели ;-)

> SELECT 'true' AS boolean 

Выход:

+---------+ 
| boolean | 
+---------+ 
| true | 
+---------+ 

Тип является то, что выражение дает в этом случае CHAR или VARCHAR.

+0

Спасибо, @Jack. Я знал, что это псевдоним столбца (я мог бы назвать это «тест» или вообще что-нибудь), но ваш ответ абсолютно спокоен. Благодарю. :) –

0

Это тип CHAR.

AS boolean не выбрасывается, он называет колонку.

0

MySQL руководство говорит, что BOOL и логическое в настоящий момент псевдонимами TINYINT (1):

Bool, Boolean: Эти типы являются синонимами для TINYINT (1). Значение ноль считается ложным. Ненулевые значения считаются истинными.

Вы можете проверить стрельбы отборного

select true, false 
Смежные вопросы