小编for*_*pas的帖子

STRING_SPLIT 到多个变量

我有一个看起来像这样的字符串:

'1.25,5.34,6.9,8.6547,2.3'
Run Code Online (Sandbox Code Playgroud)

我想将每个逗号分隔值存储到像这样的变量中,但以编程方式在 T-SQL 中存储:

Declare @Var1 float
Set @Var1 = 1.25
...

@Var2 = 5.34 
@Var3 = 6.9
Run Code Online (Sandbox Code Playgroud)

等等等等..

我该怎么做呢?

sql sql-server

5
推荐指数
1
解决办法
3449
查看次数

如何对同时具有主键和 UNIQUE 列的表执行更新插入

SQLite 新手,尝试了解 upsert 功能。

我有一个包含以下 DDL 的表:

CREATE TABLE contacts (
    contact_id INTEGER PRIMARY KEY,
    first_name TEXT NOT NULL,
    last_name TEXT NOT NULL,
    email TEXT NOT NULL UNIQUE,
    phone TEXT NOT NULL UNIQUE
);
Run Code Online (Sandbox Code Playgroud)

假设我插入一条记录:

INSERT INTO contacts (contact_id, first_name, last_name, email, phone)
VALUES (1, 'John', 'Jones', 'jjones@gmail.com', '888-867-5309');
Run Code Online (Sandbox Code Playgroud)

我怎样才能做一个同时考虑 UNIQUE 约束 ( email) 和 PK 约束 ( contact_id) 的更新插入,以便它处理这两种情况,因为我不知道哪个约束会失败。

我尝试这样做:

INSERT INTO contacts (contact_id, first_name, last_name, email, phone)
VALUES (1, 'John', 'Jones', 'john.jones@gmail.com', '888-867-5309')
ON CONFLICT (contact_id, …
Run Code Online (Sandbox Code Playgroud)

sqlite auto-increment sql-insert

5
推荐指数
1
解决办法
5810
查看次数

SELECT FROM Table WHERE 不部分的确切数字位于字符串 SQL 中

我有一个表,其中包含一堆用逗号分隔的数字。

我想从表中检索字符串中包含确切数字而不是部分数字的行。

例子:

CREATE TABLE IF NOT EXISTS `teams` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) NOT NULL,
  `uids` text NOT NULL,
  `islive` tinyint(1) NOT NULL DEFAULT '1',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;

INSERT INTO `teams` (`id`, `name`, `uids`, `islive`) VALUES
(1, 'Test Team', '1,2,8', 1),
(3, 'Test Team 2', '14,18,19', 1),
(4, 'Another Team', '1,8,20,23', 1);
Run Code Online (Sandbox Code Playgroud)

我想搜索 1 在字符串中的位置。

目前,如果我使用 Contains 或 LIKE,它会返回所有带有 1 的行,但 18、19 等不是 1,但其中确实有 1。

我在这里设置了一个sqlfiddle

我需要做正则表达式吗?

regex mysql sql contains sql-like

4
推荐指数
1
解决办法
1075
查看次数

如何从这两个表中打印孩子、父亲、母亲?

下面是表格:

关系

西德 PID
101 第202章
第566章 第322章
第875章 第345章

ID 姓名 性别
101 里亚 F
第566章 安缦 中号
第202章 拉凯什 中号
第875章 幸运的 中号
第202章 瑞娜 F
第322章 雷娜 F
第345章 罗希特 中号
第322章 莫希特 中号
第345章 米娜 F

输出

孩子 母亲 父亲
里亚 瑞娜 拉凯什
安缦 雷娜 莫希特
幸运的 罗希特 米娜

我试过这个:

SELECT     mother,
           father
FROM      (
                      SELECT     id,
                                 name,
                                 sum(
                                 CASE
                                            WHEN gender = 'F' THEN 1
                                            ELSE 0) AS mother,
                                 sum (
                                 CASE …
Run Code Online (Sandbox Code Playgroud)

sql oracle pivot join group-by

4
推荐指数
1
解决办法
2万
查看次数

同一活动中 Edittext 的多个日期选择器

在我的应用程序中,我有两个 edittext 并且我想要当单击打开的两个 edittext datepicker 对话框并在编辑文本中设置两个值时。

final DatePickerDialog.OnDateSetListener date = new DatePickerDialog.OnDateSetListener() {

        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                              int dayOfMonth) {
            // TODO Auto-generated method stub
            myCalendar.set(Calendar.YEAR, year);
            myCalendar.set(Calendar.MONTH, monthOfYear);
            myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            updateDOB();
            updateDOA();
        }

    };
    doa.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new DatePickerDialog(FamilyEditActivity.this, date, myCalendar
                    .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                    myCalendar.get(Calendar.DAY_OF_MONTH)).show();
        }
    });
    spoucedob.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            new DatePickerDialog(FamilyEditActivity.this, date, myCalendar
                    .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                    myCalendar.get(Calendar.DAY_OF_MONTH)).show();
        }
    });
}

private void updateDOA() …
Run Code Online (Sandbox Code Playgroud)

java android

3
推荐指数
1
解决办法
869
查看次数

MySQL从关系表中选择他们有相同亲戚的地方

我遇到的情况是有一个这样的关系表:

eaters:

id   name     fruit
1    jack     banana
2    jack     apple
3    jane     banana
4    jane     apple
5    jane     orange
6    richard  banana
7    richard  apple
Run Code Online (Sandbox Code Playgroud)

现在,谁吃过和“杰克”一样的水果?

例如在上表中,'Richard' 就是答案。

我想到的伪查询是:

SELECT name AS the_guy 
FROM eaters 
WHERE 
  (SELECT fruit FROM eaters WHERE name=the_guy) = 
  (SELECT fruit FROM eaters WHERE name='jack')
Run Code Online (Sandbox Code Playgroud)

我不知道这在 MySQL 中是否可行。现在我获取了整个表格并使用 PHP 从结果中提取答案,这不是一个好方法。有什么建议?

mysql sql

3
推荐指数
1
解决办法
347
查看次数

视图中的 setBackground 不能应用于 (int)

试图将背景设置为文本。问题是下一个错误——视图中的setBackground不能应用于(int)

这是我的代码

if (restaurants.get(position).getOffers() != null) {

        viewHolder.offerOrNew.setText("%");
        viewHolder.offerOrNew.setBackground(R.drawable.offers_style);
    }
Run Code Online (Sandbox Code Playgroud)

错误是在这一行中相应地引起的

viewHolder.offerOrNew.setBackground(R.drawable.offers_style);
Run Code Online (Sandbox Code Playgroud)

java android

3
推荐指数
1
解决办法
1901
查看次数

MYSQL - 警告:#1287 在表达式中设置用户变量已被弃用,并将在未来版本中删除

警告:#1287 在表达式中设置用户变量已被弃用,并将在未来版本中删除。考虑替代方案:“SET 变量 = 表达式,...”或“SELECT 表达式 INTO 变量”。

这是 MySQL 8.0.21 吐出的内容。该代码可以工作......但我也需要它在未来的版本中工作......所以我的问题是这个警告的正确方法是什么?

我需要将一个变量设置为某个数字(我将通过行的 ID 获得该数字)。我需要在每个 SET 语句中将其加 1。

我应该如何更改此代码以使警告消失?

SET @fromorder = (SELECT `order` FROM forms WHERE id=5);
/* SET @fromorder = 4;  - so this is the same in the example below */
UPDATE forms SET `order` = @fromorder := @fromorder + 1 WHERE `order` > -1 and `order` <= 4 ORDER BY `order` ASC;
SET @fromorder = null;
Run Code Online (Sandbox Code Playgroud)

据我了解,问题的根源在于:

`order` = @fromorder := @fromorder + 1
Run Code Online (Sandbox Code Playgroud)

我想这需要改变吗?

所以由此可知: …

mysql row-number window-functions

3
推荐指数
1
解决办法
3863
查看次数

如何在 Snowflake 中旋转多个聚合

我的表结构如下

产品编号 时期 销售量 利润
x1 L13 100 美元 10 美元
x1 L26 200 美元 20 美元
x1 L52 300 美元 30 美元
x2 L13 500 美元 110 美元
x2 L26 600 美元 120 美元
x2 L52 700 美元 130 美元

我想旋转期间列并在这些列中显示销售价值和利润。我需要一张如下表。

产品编号 销售_L13 销售_L26 销售_L52 利润_L13 利润_L26 利润_L52
x1 100 美元 200 美元 300 美元 10 美元 20 美元 30 美元
x2 500 美元 600 美元 700 美元 110 美元 120 美元 130 美元

我正在使用雪花来编写查询。我尝试使用pivot雪花函数,但只能指定一个聚合函数。

任何人都可以帮助我如何实现这个解决方案?

任何帮助表示赞赏。 …

sql snowflake-cloud-data-platform

3
推荐指数
1
解决办法
5743
查看次数

如何查找 SQLite 数据库中所有列的信息?

在线搜索,很容易找到获取 SQLite 表中所有列信息的方法:使用table_info(name)带有表名称的 pragma。但我见过的每个 SQL 数据库都有某种方法可以一次性获取整个数据库的所有列的信息,结果集中的某些列链接回拥有相关列的表。

SQLite 支持这个吗?或者只能通过对每个单独的表进行单独的查询来完成?

sql sqlite join information-schema

3
推荐指数
1
解决办法
1603
查看次数