【问题标题】:T-SQL STR() C#.NET LINQ to SQL EquivalentT-SQL STR() C#.NET LINQ to SQL 等效
【发布时间】:2009-12-03 06:18:20
【问题描述】:

我正在尝试将标准 SQL 查询转换为 LINQ to SQL 查询。

我想知道 T-SQL 函数 STR() 的 LINQ 等效项是什么?

STR (T-SQL)

返回从转换而来的字符数据 数字数据。

语法 STR(float_expression[, length[, 十进制]])

参数 float_expression 是一个 近似数值的表达 (float) 带小数的数据类型 观点。不要使用函数或 子查询作为 float_expression 在 STR 函数。长度是 总长度,包括小数点, 符号、数字和空格。默认 是 10. decimal 是个数 小数点右边的位 观点。返回类型 char

我正在尝试明确设置字段的小数位数。

请,谢谢!

(我试过用谷歌搜索,但谷歌一直将 str 翻译为“字符串”,即使 str 周围有双引号)

编辑

我试过 .ToString("N2") 这正是我想要的,但 LINQ 无法翻译它。

编辑

澄清一下,我有一个双精度 SQL 字段。我必须追加/截断到小数点后 2 位。之后,我将在它后面附加一个额外的字符串。因此,我相信我确实需要将其转换为字符串。这是因为我需要将该生成的字符串与另一个 varchar 类型的字段进行比较。 (我知道这很愚蠢,因为它们应该是相同的类型等,但我无法更改数据库的设计)。

【问题讨论】:

    标签: c# linq-to-sql tsql string


    【解决方案1】:

    喂,

    有一个产品(我与之没有关联)将 T-SQL 查询转换为 Linq 查询。这个名字是 Linqer (http://www.sqltolinq.com/)。它非常便宜,并且帮助我转换了一些更困难的查询。

    兰迪

    【讨论】:

    • 使用 Linqer,我输入了以下查询: Select Str(Id,2) from Master.Enterprise Linqer 创建了以下内容:from t in db.Master_Enterprise select new { Column1 = string.Format(" {0:0}",t.ID) }
    • string.Format 有效。谢谢! msdn.microsoft.com/en-us/library/fht0f5be.aspx
    【解决方案2】:

    首先想到的是ToString()

    有关如何根据自己的喜好设置格式的示例,请参阅链接,或参考以下内容:


    然而,你在这里的陈述让我怀疑你是否真的想要一个字符串:

    我正在尝试明确设置字段的小数位数。

    也许你可以澄清一下你到底想做什么?

    【讨论】:

    • 我试过 .ToString("N2") 这正是我想要的,但 LINQ 无法翻译它。
    • 为什么不直接从数据库中取出数字,然后在去显示的时候转换成字符串呢?
    • 嗯,想了想,应该可以的。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2012-08-23
    相关资源
    最近更新 更多