在sql语言中,如何提取出数组中的一段数据。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在sql语言中,如何提取出数组中的一段数据。相关的知识,希望对你有一定的参考价值。

例如,定义了数组array="1234567890",我想提取出“456”,赋值给另个数组array1。

SQL基于集合的,没有数组
数组可用集合代替,比如一个表
参考技术A update table,
set array1=substring(array,4,3)追问

我是新手,有人说SQL中没有数组。有么?怎么定义?谢谢!

追答

我回答时以为您是将字符数字存入array及array1字段了。
SQL中确实没有数组的概念,只能通过变通的方法,请参考:
如何在T-sql 中实现数组的功能
http://blog.csdn.net/fuyouhu2008/article/details/5150625

本回答被提问者采纳
参考技术B 是的,sql里面没有数组的,1234567890这就是一个数字型的啊,干嘛要定义成数组?至于提取方法楼上正解

如何从 React 中的嵌套对象数组中提取数据?

【中文标题】如何从 React 中的嵌套对象数组中提取数据?【英文标题】:How to extract data from nested objects array in React? 【发布时间】:2021-12-12 00:21:57 【问题描述】:

我有一个特殊的问题。 我目前正在学习 react 并从我自己的演示 API(Java Spring 项目)中获取数据。

但是,我在 React 中正确接收数据。现在我正在用它创建组件(音乐曲目元数据)。 API 的响应返回一个对象数组,对象中的一项是嵌套对象。现在我不知道如何将这些信息提取到我的 React 组件中。

这是我的响应的 JSON 示例:

Object 
​​
duration: 200015
​​
explicit: false
​​
id: 8
​​
isrc: "AUDCB1701705"
​​
name: "Fireworks (feat. Moss Kena & The Knocks)"
​​
songInfo: Object  id: 7, fullTitle: "Fireworks by Purple Disco Machine (Ft. The Knocks & Moss Kena)", geniusUrl: "https://genius.com/Purple-disco-machine-fireworks-lyrics", … 
​​​
fullTitle: "Fireworks by Purple Disco Machine (Ft. The Knocks & Moss Kena)"
​​​
geniusUrl: "https://genius.com/Purple-disco-machine-fireworks-lyrics"
​​​
id: 7
​​​
trackMetadata: null

如您所见,songInfo 是嵌套对象。 我的反应组件是这样的:

class ResultArea extends Component 

    constructor(props) 
        super(props);
        this.state = 
            tracks: []
        
    

    componentDidMount() 
        axios.get("http://localhost:8080/all")
            .then(response => 
                this.setState(
                    tracks: response.data
                )
            )
    

    componentDidUpdate(prevProps, prevState, snapshot) 
        console.log("Component updated! State is now:");
        console.log(this.state.tracks);
    

    render() 
        const tracklist = this.state.tracks;
        const tracks = tracklist.map(
            (isrc, duration, explicit, fullTitle, geniusUrl) =>
                <Track key=isrc fullTitle=fullTitle isrc=isrc duration=duration explicit=explicit geniusUrl=geniusUrl />
        );
        return (
            <React.Fragment>
                <div className="border">
                    <ul>
                        tracks
                    </ul>
                </div>
            </React.Fragment>
        )
    

我的组件的“状态”保存了 API 请求的结果。 这是如何运作的?我已经阅读了一些关于嵌套对象的帖子,但我的方法是为每个轨道呈现一个“”项目,因此帖子的建议方法对我不起作用...... 我需要嵌套的 songInfo-Object 中的“geniusUrl”和“fullTitle”值...

非常感谢!

编辑:删除评论。

【问题讨论】:

【参考方案1】:

所以,您的response.data 是一个“曲目”数组。每个“轨道”都是一个对象。您目前正在像这样在 .map() 方法中解构您的“轨道”:

isrc, duration, explicit, fullTitle, geniusUrl

但是.... fullTitlegeniusUrl 不是您的“轨道”对象的直接键,而是 songInfo 键,因此您必须调整解构:

isrc, duration, explicit, songInfo: fullTitle, geniusUrl

【讨论】:

谢谢!经过大量尝试,您向我展示了它是多么容易......再次感谢 - 解决了我的问题:-)

以上是关于在sql语言中,如何提取出数组中的一段数据。的主要内容,如果未能解决你的问题,请参考以下文章

SQL(雅典娜)中的取消嵌套:如何将结构数组转换为从结构中提取的值数组?

SQL如何取时间字段的小时和分钟

SQL如何提取没有逗号的数据?

excel如何提取一个字符串中的一段字符?

在sql数据库中,一个表中某一个字段有很多用,隔开的数据,请问用sql语句如何分别读取这个表中的每一个数据

语言C#,winform,数据库为access. 如何把int数组作为sql语句中的查询条件?