Cassandra 删除CQL中时间数据类型的尾随零

Cassandra 删除CQL中时间数据类型的尾随零,cassandra,cql,Cassandra,Cql,试图删除到达时间的尾随零,列数据类型为time SELECT * FROM TABLE 我得到了这个: 站点名称|到达时间| --------------+-------------------- 惠灵顿| 06:05:00.000000000 我需要这样的结果: 站点名称|到达时间| --------------+-------------------- 惠灵顿| 06:05:00 我是CQL的新手,提前谢谢 select station_name, SUBSTRING( Convert(V

试图删除到达时间的尾随零,列数据类型为time

SELECT * FROM TABLE
我得到了这个:

站点名称|到达时间|
--------------+--------------------
惠灵顿| 06:05:00.000000000

我需要这样的结果:

站点名称|到达时间|
--------------+--------------------
惠灵顿| 06:05:00

我是CQL的新手,提前谢谢

select station_name, SUBSTRING( Convert(Varchar(20),arrival_time), 0, 9)  As arrival_time
from [Table]
使用下表和数据格式

CREATE TABLE [dbo].[ArrivalStation](
    [station_name] [varchar](500) NULL,
    [arrival_time] [Time](7) NULL
) ON [PRIMARY]


INSERT [dbo].[ArrivalStation] ([station_name], [arrival_time]) VALUES (N'Wellington ', N'06:05:00.0000000')
INSERT [dbo].[ArrivalStation] ([station_name], [arrival_time]) VALUES (N'Singapore', N'12:35:29.1234567')

所以在Cassandra中,你不能用
time
类型来实现这一点。但是,您可以使用
时间戳

cassdba@cqlsh:stackoverflow> CREATE TABLE arrival_time2 (station_name TEXT PRIMARY KEY, 
    arrival_time time, arrival_timestamp timestamp);
cassdba@cqlsh:stackoverflow> INSERT INTO arrival_time2 (station_name , arrival_time , arrival_timestamp)
    VALUES ('Wellington','06:05:00','2018-03-22 06:05:00');
cassdba@cqlsh:stackoverflow> SELECT * FROM arrival_time2;

 station_name | arrival_time       | arrival_timestamp
--------------+--------------------+---------------------------------
   Wellington | 06:05:00.000000000 | 2018-03-22 11:05:00.000000+0000

(1 rows)
当然,这也不是你想要的,真的。因此,接下来您需要在
~/.cassandra/cqlshrc
[ui]
部分设置
时间格式

[ui]
time_format = %Y-%m-%d %H:%M:%S
重新启动cqlsh,这应该可以工作:

Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cassdba@cqlsh> SELECT station_name,arrival_timestamp
    FROm stackoverflow.arrival_time2 ;

 station_name | arrival_timestamp
--------------+---------------------
 Wellington | 2018-03-22 11:05:00

(1 rows)

是的,这在Cassandra中不起作用
InvalidRequest:Error from server:code=2200[Invalid query]message=“Unknown function‘substring’”
您的
CREATE TABLE
语句看起来也适用于基于SQL的RDBMS。