我在维基百科上读过这篇文章(下面也粘贴了):
遵循通常的C约定声明,声明遵循use,并且指针中的*写在指针上,表示解除引用.例如,在声明int*ptr中,解除引用的形式*ptr是一个int,而引用形式ptr是一个指向int的指针.因此,const将名称修改为右侧.相反,C++约定将*与类型相关联,如int*ptr,并将const读取为将类型修改为左侧.因此,int const*ptrToConst可以读作"*ptrToConst是一个int const"(值是常量),或者"ptrToConst是一个int const*"(指针是一个指向常量整数的指针).
我真的无法得到令人满意的解释:
它在哪种意义上修改?
名称与类型的意图(见上面的链接)?
为什么它应该在右侧const?
我有一个10列的更新语句,它将每个列中的值替换为该特定列的where条件.
这是代码:
UPDATE Table1
SET Col1 = REPLACE(Col1, '#DIV/0', NULL)
WHERE Col1 = '#DIV/0';
UPDATE Table1
SET Col2 = REPLACE(Col2, '#DIV/0', NULL)
WHERE Col2 = '#DIV/0';
UPDATE Table1
SET Col3 = REPLACE(Col3, '#DIV/0', NULL)
WHERE Col3 = '#DIV/0';
Run Code Online (Sandbox Code Playgroud)
像这样,我有10列,它做的工作,但它看起来不清楚或专业.
我想压缩这段代码,让它看起来像一个专业的代码.
任何建议都非常感谢.
谢谢!
鉴于以下字符串
Declare @string varchar(max)='abc ___________ deffns ___ cg _ hif _______hh ihs';
Run Code Online (Sandbox Code Playgroud)
这是所需的输出 :(不管长度如何,每次炒作都应该用姓氏替换)
abc lastname deffns lastname cg lastname hif lastname hh ihs
Run Code Online (Sandbox Code Playgroud)
这里的问题是,可以有很多Hypens可变长度(最大长度可以<20)......
我尝试了很多方法并采用以下方法解决..
select
REPLACE(REPLACE(replace(stringcol,replicate('_',20),'LASTNAME'),
replicate('_',19),'LASTNAME'),
replicate('_',18),'LASTNAME')
from table
Run Code Online (Sandbox Code Playgroud)
有没有办法有效地完成这一点.任何建议都会受到欢迎
我有以下SQL表:
+--------------+
| Account |
+--------------+
| 11100011 |
| 11100012 |
| 11100013 |
| 11100014 |
| 11100011 |
| 11100012 |
| 11100015 |
+--------------+
Run Code Online (Sandbox Code Playgroud)
我需要的是使用在此表中没有任何重复项的行进行选择查询(即删除两个重复的行),因此查询结果将如下所示
+--------------+
| Account |
+--------------+
| 11100013 |
| 11100014 |
| 11100015 |
+--------------+
Run Code Online (Sandbox Code Playgroud)
我怎么能在tsql中这样做?
UserID | UserName | 534 more columns -->
1 | John | 534 more values -->
Run Code Online (Sandbox Code Playgroud)
我正在从这些列中的大约 78 列中查找此输出:
Column | Value
UserID | 1
UserName| John
+78 more rows
Run Code Online (Sandbox Code Playgroud) 我有varchar' 2016-07-2914:50:13.75300'并希望将其转换为datetime数据类型.
我试过了 select cast('2016-07-2914:50:13.75300' as datetime)
但我得到了
从字符串转换日期和/或时间时转换失败.
这可能是一个菜鸟问题..但这真让我感到困惑..
下面是一些示例代码
void main() {
int a = 300;
char *ptr = &a;
int *intptr = &a;
printf("%d\n %d\n", *ptr, *intptr);
}
Run Code Online (Sandbox Code Playgroud)
产量:
44
300
根据我的理解,为什么解除引用*ptr打印44是由于char指针是一个字节的事实,所以它只从int的地址读取8位...
但是这个问题:指针的大小是多少?状态Regardless of what data type they are pointing to, they have fixed size
我错过了一些东西.为什么解引用char指针打印44,如果指针大小相同?
最近我在做一些在线求职面试问题,发现下面是关于 SQL 的多项选择题。
表EMPLOYEES有 5 行。考虑以下 SQL 语句序列。
SQL>CREATE TABLE myTable SELECT AS (SELECT * FROM EMPLOYEES);
SQL>INSERT INTO myTable SELECT * FROM myTable;
SQL>INSERT INTO myTable SELECT * FROM myTable;
SQL>INSERT INTO myTable SELECT * FROM myTable;
SQL>INSERT INTO myTable SELECT * FROM myTable
Run Code Online (Sandbox Code Playgroud)
如果 SQL 语句 SELECT COUNT(*) FROM myTable; 执行完上面列出的所有语句后执行,将打印的是
a) 80
b) 25
c) 20
d) 5
Run Code Online (Sandbox Code Playgroud)
我以为答案是 25,但那个在线门户网站说正确答案是 80。
但如何,不确定!有人可以帮忙吗?