小编Ahm*_*gab的帖子

这是什么F#巫术(> =>)?

下面的代码片段来自这里,从上下文中我了解它通过模式匹配做了什么,但是它是如何做的以及那个操作符让我进行循环.MSDN没有帮助.如果那是一个运营商,它有名字吗?对不起,如果我有一些遗漏的谷歌fu.

let (>=>) f1 f2 arg =
  match f1 arg with
  | Ok data -> f2 data
  | Error e -> Error e
Run Code Online (Sandbox Code Playgroud)

更新: 确实可能是运算符过载的情况,并且由于与其他SO问题的链接,我想我的问题的核心是重载运算符的语义是什么.查看其他链接(>> =)似乎是典型的绑定运算符.

f#

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

DATE与DATETIME在SQL SERVER 2008 R2中转换无效日期

因此,虽然我认识到日期格式化等应该在表示层中完成,但我很想知道是否有人已经看到或认识到这种差异(请在家尝试,如果这样倾向)我有点困惑,多数好奇,首先是示例代码.

更新:为了澄清基于初始响应,我知道日期无效或更好"不安全",因为我更普遍关注的特定字段来自用户输入."也就是说,虽然我知道验证/格式化不是SQL 2008强大的套装,至少我很好奇DATETIME更宽容,我想知道如何宽容."

DECLARE @RawValue NVARCHAR(30), @Value DATETIME;
SET @RawValue = '01/20.1901'

SET @Value = CAST(@RawValue AS DATETIME)
PRINT @Value
Run Code Online (Sandbox Code Playgroud)

这会为我的服务器设置生成正确的结果:Jan 20 1901 12:00 AM

但是,如果倒数第二行更改为(用DATE替换DATETIME):

  SET @Value = CAST(@RawValue AS DATE)
Run Code Online (Sandbox Code Playgroud)

消息241,级别16,状态1,行8转换在从字符串转换日期和/或时间时失败.

那里有解释吗?要明确的是,如果我将@Value作为DATE或DATETIME或甚至是NVARCHAR,那么无关紧要 - 相同的结果.错误消息似乎表明它在转换日期和/或时间时遇到问题,为什么DATETIME的行为会有所不同?

谢谢,

sql datetime date sql-server-2008-r2

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

标签 统计

date ×1

datetime ×1

f# ×1

sql ×1

sql-server-2008-r2 ×1