我在我的电脑上使用MariaDB。我是一个学生,所以我不是100%熟悉的术语,但我被告知,我们正在使用SQL Server,我相信。我正在使用MariaDB 10.10,我已经安装在我的笔记本电脑上。
我的目标是创建一个航空公司航班表,显示航班在哪些天运行。(7)键入并存储0和1以表示航班将在一周中的几天运行。给出的例子是"1010111"。这将意味着航班在星期一、星期三、星期五、星期六和星期日运行。然而,我不需要转换0或1来表示星期几,它可以简单地显示为1010111。
我无法使字段显示7位。以下是我的结果:
create table FlightConcession (
FlightNo VARCHAR(7) not null primary key unique,
Origin TEXT not null,
Destination TEXT not null,
DayOfTheWeek BIT(7) not null,
TimeOfDay TIME not null
);
INSERT INTO FlightConcession VALUES('AA3254', 'Abilene', 'Dallas', B'1010111', '060000');
我从这里得到的输出是:
| 航班号|起源|目的地|星期几|时间|
| - ------|- ------|- ------|- ------|- ------|
| AA3254|阿比林|达拉斯|W型|上午6时00分|
我不知道为什么它输出"W"而不是"1111100"。我们在课堂上收到的指令很少,我没有从同学或教师的帮助中得到任何牵引力。有人能解释一下我如何才能让DayOfTheWeek显示"1111100"而不是使用BIT(7)类型的单个字符吗?提前谢谢你。
1条答案
按热度按时间xtfmy6hx1#
您插入的数据和结果有问题。
如果输出为
W
,则二进制表示应为1010111
,而不是1111100
。后者的值为124,应显示为竖条|
。要获取位字段的字符串表示形式,请使用BIN函数: