这是我的表的摘录:
gid | datepose | pvc
---------+----------------+------------
1 | 1961 | 01
2 | 1949 |
3 | 1990 | 02
1 | 1981 |
1 | | 03
1 | |
Run Code Online (Sandbox Code Playgroud)
我想用SELECT CASE下面的方法填充PVC柱:
SELECT
gid,
CASE
WHEN (pvc IS NULL OR pvc = '') AND datpose < 1980) THEN '01'
WHEN (pvc IS NULL OR pvc = '') AND datpose >= 1980) THEN '02'
WHEN (pvc IS NULL OR pvc = '') AND (datpose IS NULL OR …Run Code Online (Sandbox Code Playgroud) 我正在尝试将一个CHARACTER VARYING列转换为DATE,但我需要一个这样的日期格式:DD/MM/YYYY.我使用以下SQL:
ALTER TABLE test
ALTER COLUMN date TYPE DATE using to_date(date, 'DD/MM/YYYY');
Run Code Online (Sandbox Code Playgroud)
结果是这样的日期:YYYY-MM-DD.
如何获得DD/MM/YYYY格式?
非常感谢提前!
托马斯
我需要清理一个字符串列,其中包含空格和制表符,在字符串的开头或结尾处(这是一团糟!).我想在每个单词之间只留一个空格.假设我们有以下字符串,其中包含所有可能的情况:
mystring = ' one two three four '
Run Code Online (Sandbox Code Playgroud)
这是我的方式:
WITH
t1 AS (SELECT' one two three four '::TEXT AS mystring),
t2 AS (SELECT TRIM(both ' ' from mystring) AS mystring FROM t1),
t3 AS (SELECT TRIM(both '\t' from mystring) AS mystring FROM t2)
SELECT regexp_replace(mystring, '(( ){2,}|\t+)', ' ', 'g') FROM t3 ;
Run Code Online (Sandbox Code Playgroud)
我最终得到以下字符串,看起来不错,但我仍然有一个尾随空格...
'one two three four '
Run Code Online (Sandbox Code Playgroud)
有没有想过以更简单的方式做到这一点并解决最后一个问题?
非常感谢 !
当屏幕不够大时,我找不到如何指定字符串应该在哪个点断开.例如,我希望文本«Commune:CENON-SUR-VIENNE»打破冒号后的角色.是否有一种语法允许手动指定,而不是让Bootstrap CSS自动执行?
我在下面添加了一段HTML代码.我已经在以下内容中指定了元标记<head>:
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Run Code Online (Sandbox Code Playgroud)
截图:
HTML代码:
<div class="container">
<div class="tab-content">
<div class="col-lg-5">
<div>
<h4>Commune : CENON-SUR-VIENNE</h4>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我正在测试新安装的“xlrd”包:
#!/usr/bin/env/python
import xlrd
wb = xlrd.open_workbook('D:\excel\test.xls')
print (wb.sheets())
Run Code Online (Sandbox Code Playgroud)
我通过 IDLE (Windows 7) 运行它,并收到以下错误消息:
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:19:30) [MSC v.1600 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> ================================ RESTART ================================
>>>
Traceback (most recent call last):
File "D:\excel\testxls.py", line 3, in <module>
import xlrd
File "C:\Program Files (x86)\Python33\lib\site-packages\xlrd\__init__.py", line 1187
print "EXTERNSHEET(b7-):"
^
SyntaxError: invalid syntax
>>>
Run Code Online (Sandbox Code Playgroud)
关于这个问题的任何想法?
谢谢!
从下表(已命名status)中,我需要提取状态为'01'2015年底的城镇代码.该列status_date存储城镇更改其状态的日期.
gid | town | status | status_date
-----+-----------+---------+-------------
1 | 86001 | 00 | 2000-01-01
2 | 86001 | 01 | 2016-03-01
3 | 86002 | 01 | 2000-01-01
4 | 86003 | 00 | 2000-01-01
5 | 86003 | 01 | 2015-03-01
6 | 86003 | 02 | 2015-09-01
Run Code Online (Sandbox Code Playgroud)
我可以使用以下有点长的查询来实现这一点:
WITH tab AS (SELECT town, MAX(status_date) FROM status GROUP BY town)
SELECT
t.town
FROM tab t
LEFT JOIN status s ON t.town …Run Code Online (Sandbox Code Playgroud) 我在Mac OS X El Capitan上使用Sublim Text 3.我需要做的是评估Sublime Text 3中的Python文件.
我已安装Package Control然后SublimREPL插件.
我已经设置了2行layout(View > Layout > Rows: 2),以便在屏幕的第二部分显示Python解释器.
然后我用Tools > Command Palette... > SublimeREPL: Python.启动Python解释器.
解释器正确启动,我得到了这个:
我找不到如何从我手动下载的Python 3.5开始(因此安装/usr/local/bin/).我试图修改这个文件:/Library/Application Support/Sublime Text 3/Packages/SublimeREPL/Config/Python/Main.sublime-menu遵循这篇文章说明,但这并没有改变任何东西(Python 2.7.10仍然推出).
这是我的内容Main.sublime-menu:
[
{
"id": "tools",
"children":
[{
"caption": "SublimeREPL",
"mnemonic": "R",
"id": "SublimeREPL",
"children":
[
{"caption": "Python",
"id": "Python",
"children":[
{"command": "repl_open",
"caption": "Python",
"id": "repl_python",
"mnemonic": "P",
"args": {
"type": "subprocess",
"encoding": …Run Code Online (Sandbox Code Playgroud) 我需要EXTRACT()在WHERE子句中包含函数,如下所示:
SELECT * FROM my_table WHERE EXTRACT(YEAR FROM date) = '2014';
Run Code Online (Sandbox Code Playgroud)
我收到这样的消息:
Run Code Online (Sandbox Code Playgroud)pg_catalog.date_part(unknown, text) doesn't exist** SQL State 42883
这是my_table内容(gid INTEGER, date DATE):
gid | date
-------+-------------
1 | 2014-12-12
2 | 2014-12-08
3 | 2013-17-15
Run Code Online (Sandbox Code Playgroud)
我必须这样做,因为查询是从网站上包含“年份”字段的网站上的表单发送的,用户在其中输入4位数字的年份。
当我从复杂查询创建视图时,我需要保留我在SQL查询中添加的注释,以便更容易地返回到视图定义.在pgAdminIII中,当我创建一个视图然后查阅视图定义时,注释被删除并且缩进完全修改了......有没有办法改变这种行为?
查看创建:
CREATE OR REPLACE VIEW public.v_test AS
-- Count number of null lines within table 'test'
(SELECT * FROM public.test WHERE client IS NULL);
Run Code Online (Sandbox Code Playgroud)
创建后查看定义,如pgAdminIII中所示:
-- View: v_test
-- DROP VIEW v_test;
CREATE OR REPLACE VIEW v_test AS
SELECT test.gid,
test.client
FROM test
WHERE test.client IS NULL;
ALTER TABLE v_test
OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)
感谢帮助!
我正在使用PostgreSQL 9.4和pgAdminIII 1.20客户端.在INSERT特定表上启动时,我收到一条错误消息:Details: the key (gid)=(31509) already exists. (SQL State: 23505).
我没有在命令中输入gid值,以便让序列完成工作:
INSERT INTO geo_section (idnum, insee, ident) VALUES (25, '015233', '') ;
Run Code Online (Sandbox Code Playgroud)
序列定义如下:
CREATE SEQUENCE geo_section_gid_seq
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 31509
CACHE 1;
ALTER TABLE geo_section_gid_seq
OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)
以下查询返回34502:
SELECT max(gid) FROM geo_section ;
Run Code Online (Sandbox Code Playgroud)
因此,我试图改变序列以便从34503以下序列开始:
ALTER SEQUENCE geo_section_gid_seq START 34503 ;
Run Code Online (Sandbox Code Playgroud)
我收到一条成功消息,说明查询已正确执行.但序列START参数仍然31509有价值......
postgresql ×7
date ×2
python ×2
string ×2
case ×1
casting ×1
comments ×1
css ×1
indentation ×1
line-breaks ×1
macos ×1
pgadmin ×1
primary-key ×1
regex ×1
replace ×1
sequence ×1
sql ×1
sublimerepl ×1
sublimetext3 ×1
types ×1
where-clause ×1
whitespace ×1
xlrd ×1