小编use*_*951的帖子

按SQL中的字符串表示的月份排序

我在SQL中有以下排序问题.

SELECT time, orderValue
FROM orders
ORDER BY time
Run Code Online (Sandbox Code Playgroud)

问题是时间用以下格式的字符串表示:

May 2012

June 2012

...

June 2013
Run Code Online (Sandbox Code Playgroud)

然而,ORDER BY子句按字母顺序对问题进行排序(这并不奇怪,因为它被定义为字符串).如何根据年份和月份以正确的顺序对此进行排序?

sql t-sql database sql-server sql-server-2005

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

MATLAB尝试并捕获问题

我在MATLAB中遇到以下try和catch代码有问题:

fonster='';
while ~(~isempty(fonster) && isnumeric(fonster) && isreal(fonster) && isfinite(fonster) && (fonster == fix(fonster)) && (fonster > 0))
    try
        fonster = input('Välj ett heltal till fönsterplatsen du vill lägga grafen i: ');
    catch
        disp('Du måste mata in ett heltal');
    end
end
Run Code Online (Sandbox Code Playgroud)

当输入无效输入作为输入函数的字符串时,它似乎永远不会进入代码的catch部分.相反,它只是重新运行输入并忽略我的输出消息.奇怪的是我在代码中的另一个地方使用了一个catch,但这次它不起作用.

以下是一些运行示例:

没有try和catch语句的输入:

Välj den fönsterplats du vill lägga grafen i: o
Error using input
Undefined function or variable 'o'.

Error in skapaPlot (line 11)
    fonster = input('Välj den fönsterplats du vill lägga grafen i:
    ');

Error in mainMeny …
Run Code Online (Sandbox Code Playgroud)

matlab exception-handling input

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

在迭代器问题C++中访问一个struct

我试图在C++中的迭代器中访问struct元素,但编译器只是给了我一个结构不包含该元素的错误.我正在尝试执行以下操作:

typedef struct
{
   string str;
   int frequenzy;
} word;

bool isPresent = false;

for(std::vector<word>::iterator itr=words.begin(); itr!=words.end(); ++itr)
{
   if(*itr.str.compare(currentWord)==0){
    isPresent = true;
    *itr.frequenzy++;
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

lab7.cc: In function 'int main()':
lab7.cc:27:13: error: 'std::vector<word>::iterator' has no member named 'str'
lab7.cc:29:11: error: 'std::vector<word>::iterator' has no member named 'frequen
zy'
Run Code Online (Sandbox Code Playgroud)

为什么这不可能?

c++ mingw c++11

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