小编Aur*_*ura的帖子

TRY_PARSE 与 TRY_CONVERT

我目前正在为我的 MCSA 数据平台学习,我答错了以下问题,我正在寻找关于为什么我的答案错误的解释,因为测试中的解释没有多大意义。

您有一个名为 AuditTrail 的表,用于跟踪对其他表中数据的修改。AuditTrail 表由许多进程更新。输入到 AuditTrail 的数据可能包含格式不正确的日期时间值。您实现了一个从各个列检索数据的过程,但有时该过程在无法将数据转换为有效的日期时间值时会引发错误。您需要使用 en-US 格式区域性代码将数据转换为有效的日期时间值。如果转换失败,则必须以 en-US 格式区域性代码返回空值。如果转换失败,则列输出中必须返回空值,并且转换过程不得抛出错误。

选项是TRY_PARSE功能与TRY_CONVERT功能。

我选择了,TRY_PARSE但正确答案是TRY_CONVERT.

任何人都可以澄清为什么TRY_PARSE在这个例子中不是一个有效的选择,因为我不想在未来犯这个错误

sql sql-server

6
推荐指数
1
解决办法
2999
查看次数

在列中的两个值之间重复值

我正在尝试重复列中的第一个特定非空值,直到同一列中的下一个特定非空值.我怎么做?

数据如下所示:

ID | Msg  
---+-----
 1 |     
 2 |  
 3 |  
 4 |  
 5 | Beg  
 6 | End  
 7 |  
 8 | Beg  
 9 |  
10 |   
11 |  
12 | End
Run Code Online (Sandbox Code Playgroud)

它应该是这样的:

ID | Msg  
---+-----
 1 |     
 2 |  
 3 |  
 4 |  
 5 | Beg  
 6 | End  
 7 |  
 8 | Beg    
 9 | Beg   
10 | Beg    
11 | Beg  
12 | End
Run Code Online (Sandbox Code Playgroud)

我调查了一下LAG(),LEAD()但我一直在想,我必须使用CURSOR它.我只知道那些但在这种情况下尚未使用过它们.

sql sql-server recursive-cte sql-server-2014

6
推荐指数
1
解决办法
98
查看次数

问题1编写PRETTY-PRINT过程,该过程接受一个参数(广义列表),并使用以下规则进行打印

我是Common Lisp的新手,我有问题。听起来是这样的:编写PRETTY-PRINT过程,该过程接受一个参数(一个广义列表),并使用以下规则进行打印:

...

列表中的任何元素都将使用相同的算法递归打印。

该函数应打印以下内容:

(pretty-print ' ( a (b c de) fg ))

( a 

     ( b 

       c 

       de ) 

   fg )
Run Code Online (Sandbox Code Playgroud)

我尝试自己重写函数几次,然后得到以下代码:

(defun print-list (elements)

    (cond
        ((null elements) (princ ") ")) 
        ( t

         (cond ((listp (car elements))
                    ; (princ #\Space)
                     (princ "( ")
                     (print-list (car elements))
                     (format t "~%")

               )

         )

         (if (atom (car elements))
                   (prin1 (car elements)))
                   (format t "~%")      
                   (princ #\Space)
                   (print-list (cdr elements))

        )
    ) 
)
Run Code Online (Sandbox Code Playgroud)

但是它没有打印出应有的内容。有人可以帮我这个吗?我已经挣扎了一个星期。谢谢

common-lisp

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