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