标签: sql

NVL与Coalesce之间的Oracle差异

Oracle中的NVL和Coalesce之间是否存在明显差异?

明显的区别在于coalesce将返回其参数列表中的第一个非null项,而nvl仅接受两个参数,如果不为null则返回第一个,否则返回第二个.

似乎NVL可能只是一个'基础案例'版本的合并.

我错过了什么吗?

sql oracle coalesce nvl

196
推荐指数
7
解决办法
19万
查看次数

在postgres中重置自动增量计数器

我想强制一个表的自动增量字段为某个值,我试着用这个:

ALTER TABLE product AUTO_INCREMENT = 1453
Run Code Online (Sandbox Code Playgroud)

ALTER SEQUENCE product  RESTART WITH 1453;
ERROR:  relation "your_sequence_name" does not exist
Run Code Online (Sandbox Code Playgroud)

我是postgres的新手:(

我有一个表productIdname领域

sql postgresql reset auto-increment

195
推荐指数
13
解决办法
16万
查看次数

什么是比较两个SQL Server数据库(架构和数据)的最佳工具?

可能重复:
用于比较Sql Server表的免费工具

我想比较两个SQL Server数据库,包括模式(表结构)和表中的数据.什么是最好的工具呢?

sql database sql-server compare

194
推荐指数
7
解决办法
39万
查看次数

如何在不考虑时间的情况下按日期时间列进行分组

我有一堆产品订单,我正在尝试按日期分组并总结该日期的数量.如何在不考虑时间的情况下按月/日/年进行分组?

3/8/2010 7:42:00 应该与...分组 3/8/2010 4:15:00

sql t-sql sql-server sql-server-2008

194
推荐指数
5
解决办法
23万
查看次数

如何创建SQL Server函数以将子查询中的多行"连接"到单个分隔字段?

为了说明,假设我有两个表如下:

VehicleID Name
1         Chuck
2         Larry

LocationID VehicleID City
1          1         New York
2          1         Seattle
3          1         Vancouver
4          2         Los Angeles
5          2         Houston
Run Code Online (Sandbox Code Playgroud)

我想写一个查询来返回以下结果:

VehicleID Name    Locations
1         Chuck   New York, Seattle, Vancouver
2         Larry   Los Angeles, Houston
Run Code Online (Sandbox Code Playgroud)

我知道这可以使用服务器端游标完成,即:

DECLARE @VehicleID int
DECLARE @VehicleName varchar(100)
DECLARE @LocationCity varchar(100)
DECLARE @Locations varchar(4000)
DECLARE @Results TABLE
(
  VehicleID int
  Name varchar(100)
  Locations varchar(4000)
)

DECLARE VehiclesCursor CURSOR FOR
SELECT
  [VehicleID]
, [Name]
FROM [Vehicles]

OPEN VehiclesCursor

FETCH NEXT …
Run Code Online (Sandbox Code Playgroud)

sql sql-server string-concatenation

193
推荐指数
8
解决办法
13万
查看次数

NOLOCK提示在SELECT语句中的作用

我想真正的问题是:

如果我不关心脏读,将添加with(NOLOCK)提示到SELECT语句会影响性能:

  1. 当前的SELECT语句
  2. 针对给定表的其他事务

例:

Select * 
from aTable with (NOLOCK)
Run Code Online (Sandbox Code Playgroud)

sql sql-server locking

193
推荐指数
4
解决办法
33万
查看次数

如何在SQLAlchemy-flask应用程序中执行原始SQL

如何在SQLAlchemy中执行原始SQL?

我有一个python web应用程序,它运行在烧瓶上,并通过SQLAlchemy与数据库连接.

我需要一种方法来运行原始SQL.该查询涉及多个表连接以及内联视图.

我试过了:

connection = db.session.connection()
connection.execute( <sql here> )
Run Code Online (Sandbox Code Playgroud)

但我不断收到网关错误.

python sql sqlalchemy flask flask-sqlalchemy

193
推荐指数
6
解决办法
22万
查看次数

SQL语法区分大小写吗?

SQL区分大小写.我使用过的MySQL和SQL Server似乎都是敏感的.总是这样吗?标准是否定义了区分大小写?

sql case-sensitive

192
推荐指数
7
解决办法
20万
查看次数

Postgres:SQL列出表外键

有没有办法使用SQL列出给定表的所有外键?我知道表名/模式,我可以将其插入.

sql postgresql

192
推荐指数
16
解决办法
15万
查看次数

MySQL ON DUPLICATE KEY UPDATE用于在单个查询中插入多行

我有一个SQL查询,我想在单个查询中插入多行.所以我使用了类似的东西:

$sql = "INSERT INTO beautiful (name, age)
  VALUES
  ('Helen', 24),
  ('Katrina', 21),
  ('Samia', 22),
  ('Hui Ling', 25),
  ('Yumie', 29)";

mysql_query( $sql, $conn );
Run Code Online (Sandbox Code Playgroud)

问题是当我执行这个查询时,我想检查是否应该检查一个UNIQUE密钥(不是PRIMARY KEY),例如'name'上面的密钥,如果'name'已经存在,则应该更新相应的整行,否则插入.

例如,在下面的示例中,如果'Katrina'数据库中已存在,则应更新整个行,而不管字段的数量.如果'Samia'不存在,则应插入该行.

我想过使用:

INSERT INTO beautiful (name, age)
      VALUES
      ('Helen', 24),
      ('Katrina', 21),
      ('Samia', 22),
      ('Hui Ling', 25),
      ('Yumie', 29) ON DUPLICATE KEY UPDATE
Run Code Online (Sandbox Code Playgroud)

这是陷阱.我陷入困境,对如何继续感到困惑.我有多行要一次插入/更新.请给我一个指示.谢谢.

mysql sql duplicates

192
推荐指数
1
解决办法
9万
查看次数