我从Web功能获得此结果.
["767,20150221122715,121053103,14573465,1,7,302",
"767,20150221122756,121053165,14573375,1,0,302",
"767,20150221122840,121053498,14572841,1,12,124"]
Run Code Online (Sandbox Code Playgroud)
通常Json有PropertyName:Value但是这有一个字符串数组,每个字符串都有以逗号分隔的值.我知道每个价值位置意味着什么.
我尝试使用JsonConvert.DeserializeObject但无法使其工作.
string deserializedProduct = JsonConvert.DeserializeObject<string>(json);
//and
List<string> deserializedProduct = JsonConvert.DeserializeObject<string>(json);
Run Code Online (Sandbox Code Playgroud)
我可以解析字符串进行拆分,但我想知道是否有一个简单的方法.
我正在帮助解决这个问题,试图改变间隔的格式.
from '01 day 22:10:37' to '46:10:37'
Run Code Online (Sandbox Code Playgroud)
我给出一个字符串操作的解决方案.但后来我发现postgres可以在两种不同的格式上显示相同的间隔.
SELECT '2016-01-27 08:51:02'::timestamp - '2016-01-25 10:40:25'::timestamp end_date,
'46:10:37'::interval interval_date;
Run Code Online (Sandbox Code Playgroud)
有趣的事情.有一个函数正在进行逆过程
justify_hours('46:10:37'::interval) --> '1 day 22:10:37'
Run Code Online (Sandbox Code Playgroud)
所以我想知道是否有解决这个问题的直接方法.为什么相同的区间值有两个不同的结果.
我尝试使用CTE
WITH cte as (
SELECT myFieldName,
row_number() over (order by gps_device_id) as rn
FROM tracker.gps_devices
)
UPDATE cte
SET cte.myFieldName = CASE WHEN cte.rn % 3 = 0 THEN '0'
WHEN cte.rn % 3 = 1 THEN '1'
WHEN cte.rn % 3 = 2 THEN '2'
END
Run Code Online (Sandbox Code Playgroud)
但是出现了以下错误。
错误:关系“ cte”不存在
像我看起来可以做的INSERT和DELETE以后WITH,但UPDATE只有CTE里面,是正确的?我确定我做了类似的事情,但是也许在不同的数据库中。
https://www.postgresql.org/docs/9.6/static/queries-with.html
因此,即使在工作非常混乱的情况下,我也有任何建议吗?
UPDATE tracker.gps_devices g
SET g.myFieldName = CASE WHEN t.rn % 3 = 0 THEN '0'
WHEN t.rn % …Run Code Online (Sandbox Code Playgroud) 我有一类范围
public class avl_range
{
public long start { get; set; }
public long end { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
如果我使用正常的FOR工作完美,但必须等待每个命令完成并且每个查询需要 8 秒,所以 10 个查询需要 80 秒。
在并行版本中,如果我只打印范围,效果很完美,但如果尝试执行命令,则说明已经在进行中。
{“操作已在进行中。”}
我该如何解决这个问题?
var numbers = new List<avl_range>();
using (var conn = new NpgsqlConnection(strConnection))
{
conn.Open();
Action<avl_range> forEachLoop = number => //Begin definition of forLoop
{
// only the console write line works ok
Console.WriteLine(number.start + " - " + number.end);
using (var cmd = new NpgsqlCommand())
{
cmd.Connection = conn; …Run Code Online (Sandbox Code Playgroud) CREATE TEMP TABLE wirednull (
id bigint NOT NULL,
value bigint,
CONSTRAINT wirednull_pkey PRIMARY KEY (id)
);
INSERT INTO wirednull (id,value) VALUES (1,null);
INSERT INTO wirednull (id,value) VALUES (2,null);
SELECT value FROM wirednull GROUP BY value;
Run Code Online (Sandbox Code Playgroud)
返回一行,但我希望有两行,因为
SELECT *
FROM wirednull a
LEFT JOIN wirednull b
ON (a.value = b.value)
Run Code Online (Sandbox Code Playgroud)
没有找到任何连接,因为在 postgres 中 null!=null
我试图使用 pg_dump 进行备份。有一个选项让我想知道。
根据pg_dump --help
-b, --blobs include large objects in dump
Run Code Online (Sandbox Code Playgroud)
我尝试寻找 blob,但只得到有关 BYTEA 的信息
http://www.postgresql.org/docs/9.1/static/datatype-binary.html
那么什么是large objects?
我想尝试按特定顺序选择一组特定的数字,以用于循环。
SELECT ID
FROM filter
WHERE id in (87, 97, 117, 52, 240, 76, 141, 137, 157, 255, 186, 196, 133,
175, 153, 224, 59, 205, 65, 47, 105, 80, 113, 293, 161, 145,
192, 149, 231, 91, 101, 109, 215, 121, 125, 64, 41, 291, 367,
388, 391, 462, 467)
Run Code Online (Sandbox Code Playgroud)
这样做会返回按 ID 排序的结果,而不是我指定的顺序。在大多数其他类似问题中,首选答案是对特定条目使用 CASE,但如何按预定顺序选择数百条记录呢?
我有一个包含年、月、日期、项目和收入列的表格。每个条目都会在每月的第一天添加。
我必须能够获得每个财政年度特定项目的总收入。到目前为止我所得到的(我认为每年都有效?)是这样的:
SELECT year, SUM(TotalIncome)
FROM myTable
WHERE ((date Between #1/1/2007# And #31/12/2015#) AND (project='aproject'))
GROUP BY year;
Run Code Online (Sandbox Code Playgroud)
本质上,我不想按年份对数据进行分组,而是想按财政年度对结果进行分组。我用过DatePart('yyyy', date),结果是一样的。
我将运行从 Excel 到数据库的查询。我需要能够选择年数(例如2009年至2014年,或2008年至2010年等)。我将从 Excel 中的用户输入中获取年份(获取两个日期,即 startYear、endYear)。
当前查询的结果给我,每年都是同年 1 月 1 日到 12 月 31 日的数据:
Year | Income
2009 | $123.12
2010 | $321.42
2011 | $231.31
2012 | $426.37
Run Code Online (Sandbox Code Playgroud)
我希望结果看起来像这样,其中每个财政年度为 7 月 1 日至次年 6 月 30日:
FinancialYear | Income
2009-10 | $123.12
2010-11 | $321.42
2011-12 | $231.31
2012-13 | $426.37
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我也希望能够每个季度完成一次。
另外,如果重要的话,我具有只读访问权限,因此我无法对数据库进行任何修改。
假设我有一个表X,并且X有字段X1,X2并且X3。
我想要一个解决方案,每当我插入 和 的值时X1,X2都会X3通过触发器自动设置为 X1 和 X2 的总和。
这是在 mysql 中非常简单的事情,但是在 google 上一段时间后,我找不到 postgres 的一个很好的例子,只有一些关于 For every row 触发器的信息,但同样没有例子。