使用 Microsoft SQL Server 2008,我收到以下错误。
如果语句包含 UNION、INTERSECT 或 EXCEPT 运算符,则消息 104,级别 16,状态 1,第 43 行 ORDER BY 项必须出现在选择列表中。
我使用的查询有点复杂,但是子句CASE侧面的ORDER BY语句看不到别名列名,这里是一个简短的例子。
SELECT 1 AS foo, 2 AS bar
UNION ALL
SELECT 10 AS foo, 20 AS bar
ORDER BY CASE WHEN foo = 2 THEN 1 END;
Run Code Online (Sandbox Code Playgroud)
在我的生产查询中,左查询需要按[360_set]表中找到的列排序,右查询需要按[360_set]空排序。
如何修复此错误,为什么此语法会生成错误?
这是版本信息,
Microsoft SQL Server Management Studio 10.0.5512.0
Microsoft Analysis Services Client Tools 10.0.5500.0
Microsoft Data Access Components (MDAC) 6.1.7601.17514
Microsoft MSXML 3.0 6.0
Microsoft …Run Code Online (Sandbox Code Playgroud) 我有以下 postgresql 函数:
CREATE OR REPLACE FUNCTION readMessage(messageFor INT, qid INT = NULL, ctxt INT = NULL, messageFrom INT = NULL, byTimeStamp BOOLEAN = FALSE)
RETURNS SETOF message
AS $$
DECLARE
sql varchar;
BEGIN
sql := 'SELECT * FROM message WHERE (receiver_id IS NULL OR receiver_id = $1)';
IF qid IS NOT NULL THEN
sql := sql || ' AND queue_id = $2';
END IF;
IF ctxt IS NOT NULL THEN
sql := sql || ' AND context = $3'; …Run Code Online (Sandbox Code Playgroud) 如何索引to_char()列的 a ?
我试过了:
adam_db=> CREATE INDEX updates_hourly_idx
ON updates (to_char(update_time, 'YYYY-MM-DD HH24:00'));
Run Code Online (Sandbox Code Playgroud)
但是得到了错误:
错误:必须标记索引表达式中的函数
IMMUTABLE
这看起来很奇怪,因为to_char()时间戳是相当不可变的。
任何想法如何生成该索引?
我需要根据 session_id 计算 Postgres 中前一天累积值的差异。示例如下:
CREATE TEMP TABLE foo AS
SELECT date::date, session_id, upload_usage, download_usage, total_usage_on_a_day
FROM ( VALUES
( '10/21/2014', '0007994b', 37578561 , 6800209 , 44378770 ),
( '10/22/2014', '0007994b', 218113296 , 85272007 , 303385303 ),
( '10/23/2014', '0007994b', 552228616 , 252390680 , 804619296 ) ,
( '10/24/2014', '0007994b', 799772020 , 391196041 , 1190968061 ),
( '10/25/2014', '0007994b', 1047233978 , 529908804 , 1577142782 ),
( '10/26/2014', '0007994b', 1294608258 , 668515778 , 1963124036 ),
( '10/27/2014', '0007994b', 1066656794 , 557318645 …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试使用 citext,但它似乎是来自 ubuntu 14.04 postgres 安装的 MIA。你在哪里可以找到这个名为 citext for postgresql 9.3 的神秘野兽?
project_test=> CREATE TABLE "customers_addresstype" (
project_test(> "id" serial NOT NULL PRIMARY KEY,
project_test(> "customer_id" integer NOT NULL REFERENCES "customers_customer" ("id") DEFERRABLE INITIALLY DEFERRED,
project_test(> "display" citext NOT NULL,
project_test(> UNIQUE ("customer_id", "display")
project_test(> )
project_test-> ;
ERROR: type "citext" does not exist
LINE 4: "display" citext NOT NULL,
^
project_test=> CREATE EXTENSION IF NOT EXISTS citext WITH SCHEMA ext;
ERROR: could not open extension control file "/usr/share/postgresql/9.3/extension/citext.control": No …Run Code Online (Sandbox Code Playgroud) 我正在使用 postgresql-9.4,为了支持和监控任务,我需要知道我的服务器已经运行了多长时间?有什么功能或方法可以知道这一点吗?有没有一种 sql 方法可以知道我的服务器何时启动?
我真的需要知道自它开始以来经过的时间吗?
我正在使用他们的 DMS 工具将我的数据库迁移到 Amazon 的 RDS。除了在源数据库上标记为 auto_increment 的列没有在目标数据库上标记为 auto_increment 之外,几乎所有内容看起来都不错。我还注意到我的索引和外键约束不包括在内。我在两端都运行 5.6 版。
有没有办法让 DMS 包含我的数据库的完整创建表?
当我使用099指示 0 填充的 3 位数字时,我会在左侧得到空格。
SELECT '>' || to_char(1, '099') || '<';
?column?
----------
> 001<
(1 row)
Run Code Online (Sandbox Code Playgroud)
为什么to_char这里是左填充?为什么会有前导空格?
如果我有一张像这样的桌子:
Food
-----------------
name | price | x
Run Code Online (Sandbox Code Playgroud)
假设我在 name 和 price 上创建了一个索引,但是数据库在某些行中为 name 和 price 提供了一堆空值。PostgreSQL 会自动跳过索引这些行吗?我听说这种行为可能在以后的版本中有所改变。
当我跑步时它journalctl -u mssql-server.service说B blob data:
Sep 06 17:34:44 x230 systemd[1]: Stopping Microsoft SQL Server Database Engine...
Sep 06 17:34:44 x230 sqlservr[22239]: [200B blob data]
Sep 06 17:34:44 x230 sqlservr[22239]: [190B blob data]
Sep 06 17:34:51 x230 sqlservr[22239]: [73B blob data]
Sep 06 17:34:51 x230 sqlservr[22239]: [146B blob data]
Sep 06 17:39:51 x230 sqlservr[22239]: [73B blob data]
Sep 06 17:39:51 x230 sqlservr[22239]: [146B blob data]
Run Code Online (Sandbox Code Playgroud)
我也没有运行 DDL 命令,也没有插入或更新 blob 数据。但有可能是mssql-cli在后台执行类似操作。
postgresql ×7
index ×2
sql-server ×2
amazon-dms ×1
amazon-rds ×1
aws ×1
case ×1
cast ×1
citext ×1
errors ×1
functions ×1
java ×1
linux ×1
logs ×1
mysql ×1
null ×1
order-by ×1
ubuntu ×1