gpt4 book ai didi

substring - 将子字符串放入新列

转载 作者:行者123 更新时间:2023-12-01 14:21:34 25 4
gpt4 key购买 nike

我有一个表,其中包含一个列,该列具有以下格式的数据 - 我们将列称为“title”,将表称为“s”

标题

ab.123
ab.321
cde.456
cde.654
fghi.789
fghi.987

我正在尝试获取“.”之前字符的唯一列表。所以我最终得到了这个:

ab
cde
fghi

我尝试将初始列选择到表格中,然后尝试进行更新以创建一个新列,该列是使用“ss”的点的位置。

像这样:

t: select title from s
update thedot: (title ss `.)[0] from t

然后我打算尝试做第 3 列,该列是“title”中的“N”个字符,其中 N 是存储在“thedot”列中的值。

当我尝试更新时,我得到的只是一个“类型”错误。

有什么想法吗?我是 kdb 的新手,所以毫无疑问以一种非常愚蠢的方式做一些简单的事情。

最佳答案

你得到类型错误的原因是因为 ss 只适用于字符串类型,而不适用于符号。另外 ss 不是基于向量的函数,因此您需要将它与每个 ' 结合起来。

q)update thedot:string[title] ss' "." from t
title thedot
---------------
ab.123 2
ab.321 2
cde.456 3
cde.654 3
fghi.789 4

有几种方法可以解决您的问题:

q)select distinct(`$"." vs' string title)[;0] from t
x
----
ab
cde
fghi
q)select distinct(` vs' title)[;0] from t
x
----
ab
cde
fghi

你可以在这里阅读更多信息:http://code.kx.com/q/ref/casting/#vs

关于substring - 将子字符串放入新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26426731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com