好的,4个小时的编码,只有6个小时的搜索......我并没有比开始时更好.这是我的问题.我有一个表(tmpShell),它有12列.它是一个没有约束的基本表 - 用于临时报告.当我们插入数据时,我必须提取一个ID号(PatientId)和所有列NAMES,其中该PatientId的值为null.
例:
PatientId Fname Lname DOB 123455 Sam NULL NULL
2345455 NULL Doe 1/1/1980
09172349 John Jone NULL
我想要回归的是:
PatientId ErrorMsg 123455 Lname,DOB
2345455 Fname
09172349 DOB
当然,如果所有列都有值,则errormsg将为null.
我已尝试并失败了大约300个不同的代码片段,但这似乎是我能得到的最接近的代码.不幸的是,这只返回每一列,而不是空值.
ALTER PROC [sp_aaShowAllNullColumns]
@tableName VARCHAR(255)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @sql NVARCHAR(4000);
DECLARE @cols NVARCHAR(4000);
DECLARE @tcols TABLE ( [colbit] NVARCHAR(255) );
--DECLARE @tablename VARCHAR(255) = 'tmpShell';
INSERT @tcols
SELECT
'count(' + [columns].[name] + ') as ' + [columns].[name] + ', ' AS [colbit]
FROM
[sys].[columns]
WHERE
[columns].[object_id] = OBJECT_ID(@tableName);
SELECT
@cols = COALESCE(@cols, ', ', '') + …Run Code Online (Sandbox Code Playgroud) 这是我的代码(好吧,其中一些).我的问题是,我可以得到前9个数字显示前导00和数字10 - 99前导0.
我必须显示所有360个月的付款,但如果我没有相同长度的所有月份数,那么我最终会得到一个输出文件,该文件一直向右移动并抵消输出的外观.
System.out.print((x + 1) + " "); // the payment number
System.out.print(formatter.format(monthlyInterest) + " "); // round our interest rate
System.out.print(formatter.format(principleAmt) + " ");
System.out.print(formatter.format(remainderAmt) + " ");
System.out.println();
Run Code Online (Sandbox Code Playgroud)
结果:
8 $951.23 $215.92 $198,301.22
9 $950.19 $216.95 $198,084.26
10 $949.15 $217.99 $197,866.27
11 $948.11 $219.04 $197,647.23
Run Code Online (Sandbox Code Playgroud)
我想看到的是:
008 $951.23 $215.92 $198,301.22
009 $950.19 $216.95 $198,084.26
010 $949.15 $217.99 $197,866.27
011 $948.11 $219.04 $197,647.23
Run Code Online (Sandbox Code Playgroud)
您还需要从我的课程中看到哪些其他代码可以提供帮助?