我想将给定日期转换为格式YYYY-MM-DD.
给定日期:
DECLARE @Date1 VARCHAR(50) = '30-01-2015'
Run Code Online (Sandbox Code Playgroud)
现在我想把它转换成2015-01-30.
Try1:
SELECT CONVERT(VARCHAR(50),'30-01-2015',126)
Run Code Online (Sandbox Code Playgroud)
Try2:
SELECT CONVERT(VARCHAR(50),'30-01-2015',120)
Run Code Online (Sandbox Code Playgroud)
对于两个尝试,结果保持相同30-01-2015.
我有以下包含 6 个参数的函数。
这里我想将参数cola,colc和设为默认值 null colf。
功能:fun_Test
create or replace function fun_Test
(
cola int default null,
colb varchar(10),
colc int default null,
cold varchar(10),
cole varchar(10),
colf varchar(50) default null
)
returns void AS
$$
begin
raise info '%',cola;
raise info '%',colb;
raise info '%',colc;
raise info '%',cold;
raise info '%',cole;
raise info '%',colf;
end;
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)
但出现错误。
错误:具有默认值的输入参数之后也必须具有默认值
我是Unix shell脚本的新手.
我创建了一个文件,它将一个参数作为文件名,以便在文件的给定路径中找到.如果找到该文件,则应显示该文件或显示相应的消息.
档案:FilePath.sh
#!/bin/sh
Given_Path=/user/document/workplace/day1
File_Name=$Given_Path/$1
# Here i got stuck to write the if condition,
# to check for the file is present in the given
# path or not.
if [---------] #Unable to write condition for this problem.
then
echo $1
else
echo "File not found"
fi
Run Code Online (Sandbox Code Playgroud)
运行:运行文件
$ bash FilePath.sh File1.txt
Run Code Online (Sandbox Code Playgroud) 我有以下unix shell脚本,其中我有两个整数变量,即a和b。
如果a大于或等于b,则shell脚本应退出并返回0。
否则,它应返回1退出。
脚本:ConditionTest.sh
#!/bin/sh
a=10
b=20
if [ $a -ge $b ]
then
exit 0
else
exit 1
fi
....
....
....
Run Code Online (Sandbox Code Playgroud)
运行脚本:
$ ./ConditionTest.sh
$
Run Code Online (Sandbox Code Playgroud)
注意:执行文件后,我没有得到任何返回值。
我有下表:
范例:
create table test
(
id int,
name varchar(10),
city varchar(10)
);
Run Code Online (Sandbox Code Playgroud)
我想将表格中的ID值分配给函数中的变量。
功能:
create or replace function testing(ids int,names varchar(10),citys varchar(10)
returns void as
$body$
Declare
ident int;
BEGIN
ident := SELECT ID FROM test;
raise info '%',ident;
END;
$body$
Language plpgsql;
Run Code Online (Sandbox Code Playgroud)
错误详情:
ERROR: syntax error at or near "SELECT"
LINE 12: ident := SELECT ID from test;
Run Code Online (Sandbox Code Playgroud) 我有以下函数调用为pro().从中我想通过联合所有两个select语句和产品输出返回字符串.
功能:亲()
create or replace function pro()
returns varchar as
$$
declare
sql varchar;
q varchar;
begin
sql := 'SELECT DISTINCT CAST(COUNT(ProductNumber) as varchar) ||'' - Count of the product Number '' as Descp
FROM product
UNION ALL
SELECT DISTINCT CAST(COUNT(ProductName) AS varchar) || '' - Count of the product Name '' as Descp
FROM product';
raise info '%',sql;
execute sql into q;
return q;
end;
$$
language plpgsql;
Run Code Online (Sandbox Code Playgroud)
调用功能:
select pro();
Run Code Online (Sandbox Code Playgroud)
这只返回select语句的第一部分: …
我有以下日期的varchar类型转换为YYYY-MM-DD我的函数格式.
我将v_Date作为参数传递给函数,并且函数内部想要执行转换.
脚本:
DO
$$
DECLARE v_Date varchar := '16-01-2010 00:00:00';
v_SQL varchar;
BEGIN
v_SQL := 'SELECT to_date('''|| v_Date ||''',''YYYY-MM-DD'')';
RAISE INFO '%',v_SQL;
EXECUTE v_SQL;
END;
$$
Run Code Online (Sandbox Code Playgroud)
上面的脚本准备以下脚本:
INFO: SELECT to_date('16-01-2010 00:00:00','YYYY-MM-DD')
Run Code Online (Sandbox Code Playgroud)
这给了我结果:
0021-07-02
Run Code Online (Sandbox Code Playgroud)
但预期的结果应该是:
2010-01-16
Run Code Online (Sandbox Code Playgroud) 我想编写一个查询,它应该为我提供以下详细信息:
就像我们进入 PgAdmin 一样,如下图所示:
根据 a_horse_with_no_name 在这个答案中所说的,我只给出了端口号。
我有以下数据:
表:
CREATE TABLE tbl1
(
cola varchar(20),
colb int
);
INSERT INTO tbl1 VALUES('AB10029',1),('5023154',17),('05021286',17),('10029',32),('05023154',17),('5021286',17);
Run Code Online (Sandbox Code Playgroud)
鉴于记录:
Cola Colb
------------------
AB10029 1
5023154 17
05021286 17
10029 32
05023154 17
5021286 17
Run Code Online (Sandbox Code Playgroud)
注意:我想给非可匹配组合的等级为1(最后一个字符应该相同),colb和匹配组合应该是1,2,3等等.
预期产量:
Cola Colb Rn
-----------------------
AB10029 1 1
10029 32 1
5023154 17 1
05023154 17 2
5021286 17 1
05021286 17 2
Run Code Online (Sandbox Code Playgroud)
我的尝试:
SELECT Cola,Colb,
DENSE_RANK() OVER(PARTITION BY Colb ORDER BY RIGHT(Cola,5)) rn
FROm tbl1
ORDER BY RIGHT(Cola,5)
Run Code Online (Sandbox Code Playgroud) 我有两个大小为3 GB 的csv 文件,用于比较和存储第三个文件中的差异。
蟒蛇代码:
with open('JUN-01.csv', 'r') as f1:
file1 = f1.readlines()
with open('JUN-02.csv', 'r') as f2:
file2 = f2.readlines()
with open('JUN_Updates.csv', 'w') as outFile:
outFile.write(file1[0])
for line in file2:
if line not in file1:
outFile.write(line)
Run Code Online (Sandbox Code Playgroud)
执行时间:45 分钟,仍在运行...
postgresql ×5
shell ×2
sql-server ×2
unix ×2
bash ×1
date ×1
datetime ×1
python ×1
python-3.x ×1
sql ×1