小编Bog*_*anM的帖子

如何从unix中的大文本文件中获取一些特定的行?

我使用基于分隔文本文件的导入系统.使用的文件有时几乎是2 Gb大,我必须检查该文件中的一些行.所以我想知道如何输出(在另一个文件上,或仅在屏幕上)特定值的行?例如行号1010123,1002451,994123等,与源文件中的完全相同?

unix

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

分配给变量"User :: de_sters"的值的类型与当前变量类型不同

我有一个变量de_sters,一个字符串类型变量,因为它在我的SSIS包中定义,它的范围是SSIS包,我需要fill使用一个表中的几行的值,使用Execute Sql Task包.

底线是我有一个"执行Sql任务"包,在proprieties - >"Sql Statement"我写道:

declare @s varchar(max) = '' 
select @s =  case when @s <> '' 
                  then  @s + ',''' + employer_name + '''' 
                  else   @s + '''' + employer_name+ ''''
                  end 
from employers
select @s as Result
Run Code Online (Sandbox Code Playgroud)

然后,在Result Set我选择Single Row(首先我运行我的选择,我看到它只返回一行).然后在tab Result Set(左侧)我在Result Name字段中写道Result(来自我之前的sql语句的别名)和Variable Name我写的文件User::de_sters.

但是当我运行sql任务时,它给了我

The type of the value being assigned to variable "User::de_sters"
differs …
Run Code Online (Sandbox Code Playgroud)

sql-server ssis

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

如何获取ms sql中float列中小数点后的位数?

我必须计算MS Sql Server(2005或2008无关紧要)托管的数据库中小数点后的数字,以便纠正用户所犯的一些错误.我在Oracle数据库上遇到了同样的问题,但事情并不复杂.底线是Oracle上的选择是:

select length( substr(to_char(MY_FIELD), instr(to_char(MY_FILED),'.',1,1)+1, length(to_char(MY_FILED)))) as digits_length
from MY_TABLE
Run Code Online (Sandbox Code Playgroud)

提交的My_filed是浮点数(38).

在Ms Sql服务器上我尝试使用:

select LEN(SUBSTRING(CAST(MY_FIELD AS VARCHAR), CHARINDEX('.',CAST(MY_FILED AS VARCHAR),1)+1, LEN(CAST(MY_FIELD AS VARCHAR)))) as digits_length
from MY_TABLE
Run Code Online (Sandbox Code Playgroud)

问题是在MS Sql Server上,当我将MY_FIELD转换为varchar时,浮点数仅被截断2位小数并且数字的计数错误.有人可以给我任何提示吗?

最好的祝福.

sql-server

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

正则表达式功能不适用于一个非法字符

我在Windows操作系统下有关于文件名中非法字符使用的问题.我有以下功能,它应该用下划线字符替换任何非法字符.但是,由于某种原因,当我要替换的字符串是这样的时候"ABC_test\/:*?"<>|_Jan2016_ABC",我的函数不会替换反斜杠字符,最后的字符串是"ABC_test\_________Jan2016_ABC".你能否告诉我我做错了什么,因为我曾经期望在使用我的功能之后,不再存在非法的性格.我的功能是:

public static String ReplaceIllegalPathCharacters(String path, String replacement = "_")
{
    string pattern = "[\\~#%&*{}//:<>?|\"-]";
    Regex regEx = new Regex(pattern);
    string final = Regex.Replace(regEx.Replace(path, replacement), @"\s+", " ");     
    return final;
}
Run Code Online (Sandbox Code Playgroud)

问候,

c#

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

为什么"while"循环在满足条件时不会结束?

我有一个明显容易的问题,但我无法得到我做错了什么.我有一个代码可以在控制台中测试60个字符的输入文本,如果在该文本中出现"恐怖"字样,它将提示消息"可疑文本",当该字出现时,它将显示"没有任何可疑" .进入"模式"的文本应在输入单词"完成"时结束.这似乎是我的问题,因为我的while循环只是不想结束.

任何提示?

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

int start_with (char *sir1, char *sir2)
{
    int i,j,k;
    int len_sir2=strlen(sir2);
    char sir3[60]="";
    for (i=0;i<=len_sir2;i++)
    {
        sir3[i]=sir1[i];
    }
    k=(strcmp(sir2,sir3)) ? 0:1;
    return k;
}

int main()
{
    char *txt1;
    char sir1[60]="", sir2[60]="terorist", sir_test[60]="done";
    int i,j,lensir1, contor=0,buf_de_la=0, buf_la;  

    while (sir1!=sir_test)
    {
        printf("Enter desired text and press ENTER \n");
        gets(sir1);
        printf("\n");
        buf_la=strlen(sir1);
        char *txt1="Nothing suspect";
        while (buf_de_la<buf_la-7)
        {
            char sirbuf[60]="";
            j=buf_de_la;
            for (i=0;i<=7;i++)
            {
                sirbuf[i]=sir1[j];
                j=j+1;
            }

            if (start_with(sirbuf,sir2)==1)
            {
                txt1="SUSPECT …
Run Code Online (Sandbox Code Playgroud)

c

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

符号代表什么?

我正在生成一个文本文件,稍后我必须上传到运行Web服务的fpt,它会处理我的文件.似乎我使用的分隔符(空格)不是所需的分隔符,因此我需要你的帮助来识别使用"显示所有字符"选项时Notepad ++显示的符号:

在此输入图像描述

我想知道小"箭头"的等效符号是什么,因为第二个较长的"箭头"代表Tab符号,日期和时间之间的小"点"是空格符号.

问候.

notepad++

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

MERGE语法SQL Server 2012错误

MERGE对我无法找到答案的语法有疑问.

我有以下情况:

步骤1:

create temp table #TempTbl
Run Code Online (Sandbox Code Playgroud)

第二步MERGE:

MERGE INTO T1 target 
USING T2 AS source ON (bunch of columns)

WHEN MATCHED 
    UPDATE 
        SET some columns from target equal some columns from source

WHEN NOT MATCHED BY TARGET 
    THEN INSERT (bunch of columns) 
         VALUES (bunch of columns from SOURCE) 

OUTPUT $action, deleted.* into #TempTbl
Run Code Online (Sandbox Code Playgroud)

我需要知道的是,对于我的上述步骤,我不会在临时表中找到空数据#TempTbl,正如我所说WHEN NOT MATCHED ... THEN INSERT,不是DELETE吗?

第二个问题,应该$action是什么类型的列,因为我有错误消息:

列名或提供的值与表定义不匹配

虽然我试图从我的表都定义了第一列varchar(100),nvarchar(100)但没有运气.但是,如果我省略该$action字段,那么我的陈述可行.

sql sql-server

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

char类型数组使用什么操作数?

我有一个愚蠢的问题,我只能掌握它.有一个简单的C代码(只想查找字符串str1是否以str2开头):

int main()
{
    int i, j; 
    char sir1[150], sir2[150], sir3[150];
    printf("insert the first string (sir1) and then hit ENTER \n");
    gets(sir1);
    printf("insert the second string (sir1) and then hit ENTER \n");
    gets(sir2);
    printf("\n");
    int len_sir2=strlen(sir2);
    for (i=0;i<len_sir2;i++)
    {
        sir3[i]=sir1[i];
    }

    for (j=0;j<len_sir2;j++)
    {
        if (sir3[i]!=sir2[i]){printf("String 1 does not start with String 2\n");break;return 0;}
    }
    printf("Sir1 starts with Sir2 \n");
    getch();    
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,对于示例"bananna"和"ana",代码似乎具有sir2 [0]和sir3 [0]的相等值,即使在Quick Watch中显示的值是98'b'和97'一个'.我做错了什么?提前谢谢了,

c

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

标签 统计

sql-server ×3

c ×2

c# ×1

notepad++ ×1

sql ×1

ssis ×1

unix ×1