小编MAK*_*MAK的帖子

在SQL Server中将日期从dd-mm-yyyy转换为yyyy-mm-dd

我想将给定日期转换为格式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.

sql-server datetime date sql-server-2008-r2

2
推荐指数
2
解决办法
3万
查看次数

PostgreSQL 9.3:将参数值默认设置为 null

我有以下包含 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)

但出现错误。

错误:具有默认值的输入参数之后也必须具有默认值

postgresql postgresql-9.3

2
推荐指数
1
解决办法
5850
查看次数

显示文件是否存在于给定路径中

我是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 bash shell

2
推荐指数
1
解决办法
431
查看次数

Unix Shell脚本:退出并返回值

我有以下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)

注意:执行文件后,我没有得到任何返回值。

unix shell

2
推荐指数
1
解决办法
5996
查看次数

将选择值分配给PostgreSQL 9.3中的变量

我有下表:

范例

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)

postgresql postgresql-9.3

1
推荐指数
1
解决办法
4049
查看次数

PostgreSQL 9.3:从函数返回字符串

我有以下函数调用为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语句的第一部分: …

postgresql postgresql-9.3

1
推荐指数
1
解决办法
6439
查看次数

PostgreSQL 9.3:将"DD-MM-YYYY"转换为"YYYY-MM-DD"

我有以下日期的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)

postgresql postgresql-9.3

1
推荐指数
1
解决办法
8181
查看次数

PostgreSQL 9.3:查询以获取主机名、端口号和用户名

我想编写一个查询,它应该为我提供以下详细信息:

  1. 主持人,
  2. 港口,
  3. 用户名。

就像我们进入 PgAdmin 一样,如下图所示:

在此处输入图片说明

根据 a_horse_with_no_name 在这个答案中所说的,我只给出了端口号。

postgresql postgresql-9.3

1
推荐指数
1
解决办法
8962
查看次数

SQL Server 2008 R2:DENSE_RANK()有两列

我有以下数据:

表:

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)

sql sql-server sql-server-2008-r2

1
推荐指数
1
解决办法
1048
查看次数

Python 3.7:大数据文件比较的性能调优

我有两个大小为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 分钟,仍在运行...

python python-3.x

1
推荐指数
1
解决办法
174
查看次数