如何在 SQL Server 中的特定字符后分割字符串并将该值更新到特定列
我有一列包含数据 1/1
到 1/20
的表格。我想要值 1 到 20,即“/”(前斜杠)之后的值更新到 SQL Server 中同一表中的其他列。
示例:
列的值为1/1,1/2,1/3...1/20
new Column value 1,2,3,..20
也就是说,我要更新这个新列。
I have table with data 1/1
to 1/20
in one column. I want the value 1 to 20 i.e value after '/'(front slash) is updated into other column in same table in SQL Server.
Example:
Column has value 1/1,1/2,1/3...1/20
new Column value 1,2,3,..20
That is, I want to update this new column.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
我知道这个问题是特定于 sql server 的,但我正在使用 postgresql 并遇到了这个问题,因此对于处于类似情况的其他人来说,有
split_part(string text, delimiter text, field int)函数。
I know this question is specific to sql server, but I'm using postgresql and came across this question, so for anybody else in a similar situation, there is the
split_part(string text, delimiter text, field int)
function.也许是这样的:
首先是一些测试数据:
然后像这样:
Maybe something like this:
First some test data:
Then like this:
使用
CHARINDEX
。也许让用户发挥作用。如果你经常使用这种分割方式。我会创建这个函数:
Use
CHARINDEX
. Perhaps make user function. If you use this split often.I would create this function:
试试这个:
Try this:
请发现下面的查询也用分隔符分割字符串。
Please find the below query also split the string with delimeter.
来自: http://www.sql-server-helper.com /error-messages/msg-536.aspx
要在并非所有数据都采用“1/12”形式的情况下使用函数 LEFT,您需要在上面的第二行中使用此函数:
From: http://www.sql-server-helper.com/error-messages/msg-536.aspx
To use function LEFT if not all data is in the form '1/12' you need this in the second line above: