理解得越多,需要记忆的越少

2017-07-02
.NET Framework deployment guide for developers

发现一篇有关 .NET Framework 部署的官方文档,包含很多有用的信息,比如

  • 各个版本的 .NET Framework 的在线/离线安装包下载。
  • 如何侦测目标系统上已有的 .NET Framework 版本包括语言包。
  • 如何卸载 .NET Framework。
阅读此文

2017-06-16
SQL Server 里查询包含下划线的字符串

有一个需求,需要查询SQL Server里一个表中某个字符串类型的字段中包含下划线的记录。很自然会想到这样的代码:

1
SELECT * FROM MyTable WHERE MyCol LIKE '%_%'

结果证明这种写法是错误的。原谅我SQL编程的功力已经极大的退化了。原来下划线 _LIKE 子句中代表“一个”任意字符,而我需要将它作为普通字符查询,怎么做呢?有2种方法:

中括号

万能的中括号 ([]) 可以做到:

1
SELECT * FROM MyTable WHERE MyCol LIKE '%[_]%'

ESCAPE 语句

可以用 ESCAPE 语句指定一个转义字符,然后 LIKE 语句中这个转义符后面的一个字符将作为普通字符处理:

1
2
3
4
SELECT * FROM MyTable WHERE MyCol LIKE '%\_%' ESCAPE '\'
-- or
SELECT * FROM MyTable WHERE MyCol LIKE '%^_%' ESCAPE '^'
-- 可以试试其它字符当转义符,效果都一样

完整的例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
CREATE TABLE Test
(
Col VARCHAR(100)
)

INSERT INTO Test
VALUES
('A'),
('B'),
('A_B'),
('X_Y_Z'),
('123')

SELECT *
FROM Test
WHERE Col LIKE '1_3'

SELECT *
FROM Test
WHERE Col LIKE '%[_]%'

SELECT *
FROM Test
WHERE Col LIKE '%\_%' ESCAPE '\'

DROP TABLE Test
阅读此文

2017-03-11
使数值类型根据正负数分别格式化为不同形式的方法

请看下面的例子,一目了然:

1
2
3
4
5
6
7
8
9
static void Main(string[] args)
{
float[] fs = { 1234.5678F, -8765.4321F };

foreach (float f in fs)
{
Console.WriteLine(f.ToString("#,##0.00;(#,##0.00)"));
}
}

输出为:

1
2
1,234.57
(8,765.43)
阅读此文

2017-03-11
找到 Office 365 的 Tenant ID

做一个公司内部用的小系统,希望使用者可以直接使用他们自己的 Office 365 帐号登录(感谢公司使用 Office 365)。在设置OpenID Connect 的时候,需要用到我们公司 Office 365 的 Tenant ID,怎么才能得到呢?我并不是公司内 Office 365 的管理员。所以最好通过其它途径获得。而这个官方文档里说明了我们可以通过 Powershell 来得到。

Use Windows PowerShell

You can use Windows PowerShell to find the tenant ID. You’ll need the Microsoft Azure PowerShell module.

Open a Microsoft Azure PowerShell command window and run the following script, entering your Office 365 credentials when prompted.

Login-AzureRmAccount

Your tenant ID is listed in the output.

阅读此文

2017-03-11
创建 Visual Studio 2017 的离线安装包

现在已经有了官方文档,关于如何创建 Visual Studio 2017 的离线安装包。

例如,拖个英文版的带 .NET Core workload 的离线安装包:

vs_professional.exe --layout D:\vs2017offline --add Microsoft.VisualStudio.Workload.NetCoreTools --lang en-US

其实微软现在很多的在线安装程序都支持使用 --layout 参数创建离线安装包。

阅读此文