【问题标题】:Convert SQL expression to VB将 SQL 表达式转换为 VB
【发布时间】:2012-11-01 21:53:25
【问题描述】:

我正在尝试在 VB 中转换此 SQL 语句,但没有成功。有人可以帮忙吗?

declare @factor as int
declare @Date as varchar(30)
set @factor = (Cast(Convert(datetime, @Date) as int) - 33975)- 
    (28 * ((Cast(Convert(datetime, @Date) as int) - 33975)/28))

【问题讨论】:

  • 你想达到什么目的?
  • 您是否要求我们将此 sql 语句转换为 VB.NET 中的类似语句(四舍五入为 int)?或者您正在寻找Math.Truncate 方法? ("指定双精度浮点数的整数部分")
  • 在 vb.net 中寻找类似的语句...这是在存储过程中用 SQL 编写的公式,但我不想通过 Visual Studio 2010 aspx 调用该过程.vb 页面。所以,我需要在 vb 中使用相同的信息,但不确定如何去做。

标签: sql vb.net visual-studio-2010


【解决方案1】:

首先您需要将字符串值解析为DateTime。然后计算nr。从 1900-01-01 到该日期的天数。

Dim str = "2005-11-14"
Dim dateValue = DateTime.ParseExact(str, "yyyy-MM-dd", 
                  CultureInfo.InvariantCulture, DateTimeStyles.None)
Dim baseDate = New DateTime(1900, 1, 1)
Dim intValue = (dateValue - baseDate).TotalDays

你可以应用数学运算

Dim factor = intValue - 33975 - (28 * (intValue - 33975) / 28)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 2023-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多